Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

UgliStripHandle Class Reference

#include <UgliStripHandle.h>

Inheritance diagram for UgliStripHandle:

UgliStripABC List of all members.

Public Member Functions

 UgliStripHandle (UgliStripNode *stripNode)
 UgliStripHandle (GeoStripNode *stripNode)
 UgliStripHandle (const UgliStripHandle &that)
UgliStripHandleoperator= (const UgliStripHandle &that)
 UgliStripHandle ()
virtual ~UgliStripHandle ()
virtual Bool_t IsGeo () const
virtual Bool_t IsValid () const
virtual Bool_t IsFrozen () const
virtual PlexStripEndId GetSEId () const
virtual Float_t GetHalfLength () const
virtual Float_t GetHalfThickness () const
virtual Float_t GetHalfWidth () const
virtual Float_t GetTPos (Float_t orthCoord=9999.) const
virtual Float_t PartialLength (const StripEnd::StripEnd_t end) const
virtual Bool_t IsMirrored (const StripEnd::StripEnd_t end) const
virtual Float_t WlsPigtail (const StripEnd::StripEnd_t end) const
virtual Float_t WlsBypass () const
virtual Float_t ClearFiber (const StripEnd::StripEnd_t end) const
virtual Float_t TotalAttenuation (const StripEnd::StripEnd_t end, const Float_t alongLength) const
virtual TVector3 GlobalPos (const Float_t alongLength, const Bool_t onWLS=false, const Bool_t globalInXYZ=true) const
virtual TVector3 GlobalToLocal (const TVector3 &global, const Bool_t globalInXYZ=true) const
virtual TVector3 LocalToGlobal (const TVector3 &local, const Bool_t globalInXYZ=true) const
virtual Float_t DistanceAlong (const PlexStripEndId &orthogonalStrip) const
virtual TVector3 Intersection (const PlexStripEndId &orthogonalStrip) const
UgliScintMdlHandle GetScintMdlHandle () const
UgliScintPlnHandle GetScintPlnHandle () const
Float_t GetZRotRelMdlRad () const
Float_t GetLPosRelMdl () const
Float_t GetTPosRelMdl () const
Bool_t AttemptSet (const char *what="?") const
void SetZRotRelMdlRad (Float_t radians)
void SetLTPosRelMdl (Float_t lpos, Float_t tpos)
void RotateRelMdlBy (Float_t deltaRadians)
void ShiftLTPosRelMdlBy (Float_t dlpos, Float_t dtpos)

Protected Attributes

UgliStripNodefUgliStripNode
GeoStripNodefGeoStripNode

Constructor & Destructor Documentation

UgliStripHandle::UgliStripHandle UgliStripNode stripNode  ) 
 

Definition at line 45 of file UgliStripHandle.cxx.

References fUgliStripNode, and UgliStripNode::IncrementRef().

00046   : fUgliStripNode(node),fGeoStripNode(0)
00047 {
00048    // ctor keeps reference count up-to-date
00049 
00050    if (fUgliStripNode) fUgliStripNode->IncrementRef();
00051 } 

UgliStripHandle::UgliStripHandle GeoStripNode stripNode  ) 
 

Definition at line 54 of file UgliStripHandle.cxx.

References fGeoStripNode, and GeoNode::IncrementRef().

00055   : fUgliStripNode(0),fGeoStripNode(node)
00056 {
00057    // ctor keeps reference count up-to-date
00058 
00059    if (fGeoStripNode) fGeoStripNode->IncrementRef();
00060 }

UgliStripHandle::UgliStripHandle const UgliStripHandle that  ) 
 

Definition at line 63 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, GeoNode::IncrementRef(), and UgliStripNode::IncrementRef().

00064    : UgliStripABC(),
00065      fUgliStripNode(that.fUgliStripNode),
00066      fGeoStripNode(that.fGeoStripNode)
00067 {
00068    // copy constructor keeps reference counts up-to-date
00069 
00070    if (fUgliStripNode) fUgliStripNode->IncrementRef();
00071    if (fGeoStripNode) fGeoStripNode->IncrementRef();
00072 }

UgliStripHandle::UgliStripHandle  ) 
 

Definition at line 25 of file UgliStripHandle.cxx.

References MSG.

00026   : fUgliStripNode(0),fGeoStripNode(0)
00027 {
00028    // Default constructor
00029 
00030    MSG("Ugli",Msg::kDebug) 
00031      << "UgliStripHandle created by default ctor" << endl;
00032 //   assert(0);
00033 }

UgliStripHandle::~UgliStripHandle  )  [virtual]
 

Definition at line 36 of file UgliStripHandle.cxx.

References GeoNode::DecrementRef(), UgliStripNode::DecrementRef(), fGeoStripNode, and fUgliStripNode.

00037 {
00038    // handle deletion updates reference count
00039   if (fUgliStripNode) fUgliStripNode->DecrementRef();
00040   if (fGeoStripNode) fGeoStripNode->DecrementRef();
00041   
00042 }


Member Function Documentation

Bool_t UgliStripHandle::AttemptSet const char *  what = "?"  )  const
 

Definition at line 110 of file UgliStripHandle.cxx.

References GetSEId(), IsFrozen(), and MSG.

Referenced by SetLTPosRelMdl(), and SetZRotRelMdlRad().

00111 {
00112   if (!IsFrozen()) return true;
00113 
00114   MSG("Ugli",Msg::kError) 
00115     << "AttemptSet " << what << " on Frozen " 
00116     << GetSEId() << " twarted!" << endl;
00117   return false;
00118 }

Float_t UgliStripHandle::ClearFiber const StripEnd::StripEnd_t  end  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 151 of file UgliStripHandle.h.

References GeoStripNode::ClearFiber(), UgliStripNode::ClearFiber(), fGeoStripNode, fUgliStripNode, and IsGeo().

Referenced by FitTrackMSListModule::Ana(), CompareToReroot::Ana(), AltDeMuxDisplay::Ana(), TimingVarsAna::Analyze(), MeuReco::CalcStripDists(), PhotonCalibratedBlueComputer::ComputePhotons(), MNtpModule::FillTrkInfo(), AlgTrackSRList::FindTimingDirection(), AlgTrackSR::FindTimingDirection(), AlgShowerSR::FindTimingDirection(), DmxMuonPlane::GetTimingOffset(), DmxHypothesis::GetTimingOffset(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), load_better_mipcal(), AlgFitTrackCam::NDStripBegTime(), AlgTrackAtNu::RunAlg(), AlgShowerAtNu::RunAlg(), AlgFarDetStrip::RunAlg(), AlgFarDetShieldPlank::RunAlg(), StripKG::Set(), AltDeMuxCalc::SetFibreLengthE(), AltDeMuxCalc::SetFibreLengthW(), AlgTrack::SetT(), AlgShowerSR::SetT(), ShieldGeom::SetupShieldGeom(), AlgTrackCam::SetupTimingInfo(), AlgShowerCam::SetupTimingInfo(), GeoValidate::TestStrip_ClearFiber(), AlgFitTrackCam::TimingFit(), and MeuPlots::ugliClearFibre().

00152 { if ( !IsGeo() ) return fUgliStripNode->ClearFiber(end);
00153  else             return (fGeoStripNode->ClearFiber(end))*Munits::cm; } 

Float_t UgliStripHandle::DistanceAlong const PlexStripEndId orthogonalStrip  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 160 of file UgliStripHandle.h.

References GeoStripNode::DistanceAlong(), UgliStripNode::DistanceAlong(), fGeoStripNode, fUgliStripNode, and IsGeo().

Referenced by GeoValidate::TestStrip_DistanceAlong().

00161 { if ( !IsGeo() ) return fUgliStripNode->DistanceAlong(orthogonalStrip);
00162   else   return (fGeoStripNode->DistanceAlong(orthogonalStrip)*Munits::cm); }

Float_t UgliStripHandle::GetHalfLength  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 119 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetHalfLength(), UgliStripNode::GetHalfLength(), and IsGeo().

Referenced by ScintHitAna::Ana(), MuCalFitterModule::Ana(), FitTrackMSListModule::Ana(), CompareToReroot::Ana(), AltDeMuxDisplay::Ana(), TimingVarsAna::Analyze(), NueDisplayModule::BuildDisplay(), MeuReco::CalcLPos(), MeuReco::CalcStripDists(), PhotonCalibratedPeComputer::ComputePhotons(), PhotonCalibratedBlueComputer::ComputePhotons(), TrackDirectionModule::ConvertToLocal(), MakeAlignmentModule::ConvertToLocal(), TridPageDetector::CreateSketches(), StripAttenCalScheme::DecalAttenCorrected(), SimpleCalScheme::DecalAttenCorrected(), EVD::DrawVS(), MNtpModule::FillTrkInfo(), AlgTrackSRList::FindTimingDirection(), AlgTrackSR::FindTimingDirection(), AlgShowerSR::FindTimingDirection(), AlgTrackSRList::FormCandTrackSR(), ToyMCModule::Get(), StripAttenCalScheme::GetAttenCorrected(), SimpleCalScheme::GetAttenCorrected(), GfxDigit::GetRealCoords(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), load_better_mipcal(), AlgFitTrackCam::NDStripBegTime(), ScintPhoton::Reset(), AlgTrackAtNu::RunAlg(), AlgShowerAtNu::RunAlg(), AlgFarDetStrip::RunAlg(), AlgFarDetShieldPlank::RunAlg(), PhotonFullBlueTracker::ScintPhotonToFibreHit(), PhotonFastBlueModel::ScintPhotonToFibreHit(), PhotonDefaultModel::ScintPhotonToFibreHit(), StripKG::Set(), AlgTrack::SetT(), AlgShowerSR::SetT(), AlgTrackCam::SetupTimingInfo(), AlgShowerCam::SetupTimingInfo(), PhotonInjector::SimulateEvent(), PhotonTransport::SimulateScintHit(), GeoValidate::TestStrip_GetHalfLength(), AlgFitTrackCam::TimingFit(), MeuPlots::ugliClearFibre(), and PhotonTransport::VerifyScintHit().

00120 { if ( !IsGeo() ) return fUgliStripNode->GetHalfLength();
00121   else            return (fGeoStripNode->GetHalfLength())*Munits::cm; } 

Float_t UgliStripHandle::GetHalfThickness  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 123 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetHalfThickness(), UgliStripNode::GetHalfThickness(), and IsGeo().

Referenced by ScintHitAna::Ana(), NueDisplayModule::BuildDisplay(), GfxTrack::BuildRealImp(), GfxShower::BuildRealImp(), TridPageDetector::CreateSketches(), EVD::DrawVS(), PhotonFullFibreModel::FindBlueAbsorptionPosition(), ToyMCModule::Get(), GfxStrip::GetRealCoords(), GfxDigit::GetRealCoords(), ScintPhoton::Reset(), PhotonFastBlueModel::ScintPhotonToFibreHit(), StripKG::Set(), PhotonTransport::SimulateScintHit(), GeoValidate::TestStrip_GetHalfThickness(), and PhotonTransport::VerifyScintHit().

00124 { if ( !IsGeo() ) return fUgliStripNode->GetHalfThickness(); 
00125   else            return (fGeoStripNode->GetHalfThickness())*Munits::cm; } 

Float_t UgliStripHandle::GetHalfWidth  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 127 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetHalfWidth(), UgliStripNode::GetHalfWidth(), and IsGeo().

Referenced by ScintHitAna::Ana(), NueDisplayModule::BuildDisplay(), GfxTrack::BuildRealImp(), GfxShower::BuildRealImp(), TridPageDetector::CreateSketches(), EVD::DrawVS(), ToyMCModule::Get(), GfxStrip::GetRealCoords(), GfxDigit::GetRealCoords(), ScintPhoton::Reset(), StripKG::Set(), PhotonTransport::SimulateScintHit(), GeoValidate::TestStrip_GetHalfWidth(), and PhotonTransport::VerifyScintHit().

00128 { if ( !IsGeo() ) return fUgliStripNode->GetHalfWidth(); 
00129   else            return (fGeoStripNode->GetHalfWidth())*Munits::cm; } 

Float_t UgliStripHandle::GetLPosRelMdl  )  const [inline]
 

Definition at line 175 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetLPosRelMdl(), UgliStripNode::GetLPosRelMdl(), and IsGeo().

Referenced by TrackDirectionModule::ProcessRecord(), MakeAlignmentModule::ReadRecord(), ShiftLTPosRelMdlBy(), and GeoValidate::TestStrip_GetLPosRelMdl().

00176 { if ( !IsGeo() ) return fUgliStripNode->GetLPosRelMdl();
00177  else             return (fGeoStripNode->GetLPosRelMdl())*Munits::cm; }

UgliScintMdlHandle UgliStripHandle::GetScintMdlHandle  )  const
 

Definition at line 96 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetScintMdlNode(), UgliStripNode::GetScintMdlNode(), and IsGeo().

Referenced by StraightTrackAlignment::LookupScintModule(), and GeoValidate::TestStrip_GetScintMdlHandle().

00097 { if (!IsGeo()) return UgliScintMdlHandle(fUgliStripNode->GetScintMdlNode());
00098   else return UgliScintMdlHandle(fGeoStripNode->GetScintMdlNode()); 
00099 }

UgliScintPlnHandle UgliStripHandle::GetScintPlnHandle  )  const
 

Definition at line 102 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetScintMdlNode(), UgliStripNode::GetScintMdlNode(), GeoScintMdlNode::GetScintPlnNode(), UgliScintMdlNode::GetScintPlnNode(), and IsGeo().

Referenced by TrackDirectionModule::ProcessRecord(), MakeAlignmentModule::ReadRecord(), and GeoValidate::TestStrip_GetScintPlnHandle().

00103 { if (!IsGeo()) return 
00104   UgliScintPlnHandle(fUgliStripNode->GetScintMdlNode()->GetScintPlnNode()); 
00105  else return 
00106   UgliScintPlnHandle(fGeoStripNode->GetScintMdlNode()->GetScintPlnNode()); 
00107 }

PlexStripEndId UgliStripHandle::GetSEId  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 115 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetSEId(), UgliStripNode::GetSEId(), and IsGeo().

Referenced by AttemptSet(), ToyMCModule::Get(), DmxShowerPlane::GetHypothesisLowerBound(), DmxMuonPlane::GetHypothesisLowerBound(), GlobalPos(), GlobalToLocal(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), LocalToGlobal(), DmxShowerPlane::SetStrips(), DmxMuonPlane::SetStrips(), GeoValidate::TestGeom_GetStripHandle(), GeoValidate::TestScintPln_GetClosestStrip(), GeoValidate::TestScintPln_GetStripHandle(), GeoValidate::TestScintPln_GetStripHandleVector(), GeoValidate::TestStrip(), GeoValidate::TestStrip_ClearFiber(), GeoValidate::TestStrip_DistanceAlong(), GeoValidate::TestStrip_GetHalfLength(), GeoValidate::TestStrip_GetHalfThickness(), GeoValidate::TestStrip_GetHalfWidth(), GeoValidate::TestStrip_GetLPosRelMdl(), GeoValidate::TestStrip_GetScintMdlHandle(), GeoValidate::TestStrip_GetScintPlnHandle(), GeoValidate::TestStrip_GetSEId(), GeoValidate::TestStrip_GetTPos(), GeoValidate::TestStrip_GetTPosRelMdl(), GeoValidate::TestStrip_GetZRotRelMdlRad(), GeoValidate::TestStrip_GlobalPos(), GeoValidate::TestStrip_GlobalToLocal(), GeoValidate::TestStrip_Intersection(), GeoValidate::TestStrip_IsMirrored(), GeoValidate::TestStrip_LocalToGlobal(), GeoValidate::TestStrip_PartialLength(), GeoValidate::TestStrip_WlsBypass(), GeoValidate::TestStrip_WlsPigtail(), and TridModelRecoStrip::TridModelRecoStrip().

00116 { if ( !IsGeo() ) return fUgliStripNode->GetSEId();
00117   else            return fGeoStripNode->GetSEId(); }

Float_t UgliStripHandle::GetTPos Float_t  orthCoord = 9999.  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 131 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetTPos(), UgliStripNode::GetTPos(), and IsGeo().

Referenced by RecoTreeModule::Ana(), PreFilter::Ana(), FCPCFilterModule::Ana(), DmxDeMuxModule::Ana(), ChopModule::Ana(), AtNuTreeModule::Ana(), GfxTrack::BuildRealImp(), GfxShower::BuildRealImp(), MeuReco::CalcStripDists(), TridUVPage::CreateSketches(), AlgDeMuxBeam::DeMuxFirstNPlanesTest(), ChopEvaluation::Evaluate(), AlgDeMuxBeam::FindDigitCoG(), StraightTrackAlignment::FitTrackLessOne(), DmxShowerPlane::GetBestCoG(), PreFilter::GetCDHTPos(), DmxShowerPlane::GetCoG(), DmxMuonPlane::GetCoG(), DmxShowerPlane::GetHypothesisCoG(), DmxMuonPlane::GetInitialCoG(), GfxStrip::GetRealCoords(), GfxDigit::GetRealCoords(), TrackClusterSR::GetRotationCorrectedTPos(), GeometryHelper::GetRotationCorrectedTPos(), DmxShowerPlane::GetSecondBestCoG(), DmxShowerPlane::GetThirdBestCoG(), CandStripHandle::GetTPos(), CheezyDisplay::PlaneStripToXY(), TrackDirectionModule::ProcessRecord(), MakeAlignmentModule::ReadRecord(), AlgDeMuxBeam::ReconcileShowerAndMuonRegions(), AlgStripSR::RunAlg(), AlgFarDetStrip::RunAlg(), GeoValidate::TestStrip_GetTPos(), MeuPlots::ugliClearFibre(), HistPage::Update(), and EVD::UpdateChargeHists().

00132 { if ( !IsGeo() ) return fUgliStripNode->GetTPos(orthCoord); 
00133   else return (fGeoStripNode->GetTPos(orthCoord/Munits::cm))*Munits::cm; } 

Float_t UgliStripHandle::GetTPosRelMdl  )  const [inline]
 

Definition at line 179 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetTPosRelMdl(), UgliStripNode::GetTPosRelMdl(), and IsGeo().

Referenced by TrackDirectionModule::ProcessRecord(), MakeAlignmentModule::ReadRecord(), ShiftLTPosRelMdlBy(), and GeoValidate::TestStrip_GetTPosRelMdl().

00180 { if ( !IsGeo() ) return fUgliStripNode->GetTPosRelMdl(); 
00181   else            return (fGeoStripNode->GetTPosRelMdl())*Munits::cm; }

Float_t UgliStripHandle::GetZRotRelMdlRad  )  const [inline]
 

Definition at line 171 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::GetZRotRelMdlRad(), UgliStripNode::GetZRotRelMdlRad(), and IsGeo().

Referenced by RotateRelMdlBy(), and GeoValidate::TestStrip_GetZRotRelMdlRad().

00172 { if ( !IsGeo() ) return fUgliStripNode->GetZRotRelMdlRad();
00173   else            return fGeoStripNode->GetZRotRelMdlRad(); }

TVector3 UgliStripHandle::GlobalPos const Float_t  alongLength,
const Bool_t  onWLS = false,
const Bool_t  globalInXYZ = true
const [virtual]
 

Definition at line 137 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, DataUtil::GetDetector(), GetSEId(), GeoStripNode::GlobalPos(), UgliStripNode::GlobalPos(), IsGeo(), and Ugli::xyz2uvz().

Referenced by ShieldPlankListModule::Ana(), FCPCFilterModule::Ana(), AltDeMuxDisplay::Ana(), NueDisplayModule::BuildDisplay(), GfxTrack::BuildRealImp(), GfxShower::BuildRealImp(), TridUVPage::CreateSketches(), TridPageDetector::CreateSketches(), Calibrator::DecalAttenCorrectedTpos(), EVD::DrawVS(), StraightTrackAlignment::FitTrackLessOne(), AlgTrackSRList::FormCandTrackSR(), Calibrator::GetAttenCorrectedTpos(), PreFilter::GetCDHZPos(), GfxStrip::GetRealCoords(), GfxDigit::GetRealCoords(), CheezyDisplay::PlaneStripToXY(), MakeAlignmentModule::RecalculateResiduals(), AlgFarDetShieldPlank::RunAlg(), ShieldGeom::SetupShieldGeom(), GeoValidate::TestStrip_GlobalPos(), TridModelRecoStrip::TridModelRecoStrip(), MeuPlots::ugliClearFibre(), HistPage::Update(), and EVD::UpdateChargeHists().

00139                                                                     {
00140   // convert a distance along the strip into global position
00141   // onWLS takes into account the extra waveshifter length in bypass region
00142   // globalInXYZ determines whether result is in XYZ or UVZ
00143   TVector3 globalXYZ;
00144   if ( !IsGeo() ) 
00145       globalXYZ = fUgliStripNode->GlobalPos(alongLength,onWLS);
00146   else {
00147       TVector3 gpos = fGeoStripNode->GlobalPos(alongLength/Munits::cm,onWLS);
00148       globalXYZ = (gpos *= Munits::cm);
00149   }
00150 
00151   if (globalInXYZ ) return globalXYZ;
00152   else              return Ugli::xyz2uvz(GetSEId().GetDetector(),globalXYZ);
00153 }

TVector3 UgliStripHandle::GlobalToLocal const TVector3 &  global,
const Bool_t  globalInXYZ = true
const [virtual]
 

Definition at line 156 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, DataUtil::GetDetector(), GetSEId(), GeoNode::GlobalToLocal(), UgliStripNode::GlobalToLocal(), IsGeo(), and Ugli::uvz2xyz().

Referenced by TimingVarsAna::Analyze(), MeuReco::CalcStripDists(), TrackDirectionModule::ConvertToLocal(), MakeAlignmentModule::ConvertToLocal(), MNtpModule::FillTrkInfo(), flshit_massage_local(), ToyMCModule::Get(), Anp::FillMuonId::Get(), and GeoValidate::TestStrip_GlobalToLocal().

00158 { 
00159   // convert a global position into a local (volume) one
00160   // globalInXYZ determines whether result is in XYZ or UVZ
00161   TVector3 globalXYZ = (globalInXYZ) ? 
00162       global : Ugli::uvz2xyz(GetSEId().GetDetector(),global);
00163 
00164   if ( !IsGeo() ) 
00165       return fUgliStripNode->GlobalToLocal(globalXYZ);
00166   else {
00167       TVector3 scaledglobal(globalXYZ); scaledglobal *= 1./Munits::cm;
00168       return (fGeoStripNode->GlobalToLocal(scaledglobal) *= Munits::cm); 
00169   }
00170 }

TVector3 UgliStripHandle::Intersection const PlexStripEndId orthogonalStrip  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 164 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoStripNode::Intersection(), UgliStripNode::Intersection(), and IsGeo().

Referenced by GeoValidate::TestStrip_Intersection().

00165 { if ( !IsGeo() ) return fUgliStripNode->Intersection(orthogonalStrip);
00166   else {
00167     return (fGeoStripNode->Intersection(orthogonalStrip) *= Munits::cm); 
00168   }
00169 }

Bool_t UgliStripHandle::IsFrozen  )  const [inline, virtual]
 

Definition at line 111 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, GeoNode::GetGeoGeometry(), UgliStripNode::GetUgliGeometry(), GeoGeometry::IsFrozen(), UgliGeometry::IsFrozen(), and IsGeo().

Referenced by AttemptSet().

00112 { if ( !IsGeo() ) return fUgliStripNode->GetUgliGeometry()->IsFrozen();
00113   else            return fGeoStripNode->GetGeoGeometry()->IsFrozen();}

virtual Bool_t UgliStripHandle::IsGeo  )  const [inline, virtual]
 

Definition at line 41 of file UgliStripHandle.h.

References fGeoStripNode.

Referenced by ClearFiber(), DistanceAlong(), GetHalfLength(), GetHalfThickness(), GetHalfWidth(), GetLPosRelMdl(), GetScintMdlHandle(), GetScintPlnHandle(), GetSEId(), GetTPos(), GetTPosRelMdl(), GetZRotRelMdlRad(), GlobalPos(), GlobalToLocal(), Intersection(), IsFrozen(), IsMirrored(), IsValid(), LocalToGlobal(), PartialLength(), SetLTPosRelMdl(), SetZRotRelMdlRad(), TotalAttenuation(), WlsBypass(), and WlsPigtail().

00041 { return (fGeoStripNode != 0); }

Bool_t UgliStripHandle::IsMirrored const StripEnd::StripEnd_t  end  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 139 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::IsMirrored(), and UgliStripNode::IsMirrored().

Referenced by PhotonCalibratedPeComputer::ComputePhotons(), PhotonDefaultModel::FibreHitToGreenPhoton(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), ScintPhoton::InteractAtSurface(), PhotonFastBlueModel::ScintPhotonToFibreHit(), and GeoValidate::TestStrip_IsMirrored().

00140 { if ( !IsGeo() ) return fUgliStripNode->IsMirrored(end);
00141   else            return fGeoStripNode->IsMirrored(end); } 

Bool_t UgliStripHandle::IsValid  )  const [inline, virtual]
 

Definition at line 107 of file UgliStripHandle.h.

References IsGeo().

Referenced by ShieldPlankListModule::Ana(), CompareToReroot::Ana(), AltDeMuxDisplay::Ana(), GfxTrack::BuildRealImp(), GfxShower::BuildRealImp(), ToyMCModule::Get(), Anp::FillMuonId::Get(), AltDeMuxModule::GetFibreLengths(), AlgAltDeMuxBase::GetFibreLengths(), GfxStrip::GetRealCoords(), GfxDigit::GetRealCoords(), load_better_mipcal(), CheezyDisplay::PlaneStripToXY(), ScintPhoton::Reset(), AlgFarDetShieldPlank::RunAlg(), AltDeMuxCalc::SetFibreLengthE(), AltDeMuxCalc::SetFibreLengthW(), PhotonTransport::SimulateScintHit(), GeoValidate::TestStrip_DistanceAlong(), GeoValidate::TestStrip_Intersection(), EVD::UpdateChargeHists(), and TimeCalibratorSRModule::UpdateTable().

00108 { if ( !IsGeo() ) return (fUgliStripNode) ? kTRUE : kFALSE;
00109  else             return (fGeoStripNode)  ? kTRUE : kFALSE; }

TVector3 UgliStripHandle::LocalToGlobal const TVector3 &  local,
const Bool_t  globalInXYZ = true
const [virtual]
 

Definition at line 173 of file UgliStripHandle.cxx.

References fGeoStripNode, fUgliStripNode, DataUtil::GetDetector(), GetSEId(), IsGeo(), GeoNode::LocalToGlobal(), UgliStripNode::LocalToGlobal(), and Ugli::xyz2uvz().

Referenced by MeuReco::CalcLPos(), NtpMaker::FillMCInfo(), NtpMCModule::FillNtpMCDigiScintHit(), NtpMCModule::FillNtpMCStdHep(), PreFilter::SimCheck(), GeoValidate::TestStrip_GlobalToLocal(), GeoValidate::TestStrip_LocalToGlobal(), and MCDisp::Update().

00175 { 
00176   // convert a global position into a local (volume) one
00177   // globalInXYZ determines whether result is in XYZ or UVZ
00178   TVector3 globalXYZ;
00179   if ( !IsGeo() ) 
00180       globalXYZ = fUgliStripNode->LocalToGlobal(local); 
00181   else { 
00182       TVector3 scaledlocal(local); scaledlocal *= 1./Munits::cm;
00183       globalXYZ = (fGeoStripNode->LocalToGlobal(scaledlocal) *= Munits::cm); 
00184   }
00185 
00186   if (globalInXYZ ) return globalXYZ;
00187   else              return Ugli::xyz2uvz(GetSEId().GetDetector(),globalXYZ);
00188 }

UgliStripHandle & UgliStripHandle::operator= const UgliStripHandle that  ) 
 

Definition at line 75 of file UgliStripHandle.cxx.

References GeoNode::DecrementRef(), UgliStripNode::DecrementRef(), fGeoStripNode, fUgliStripNode, GeoNode::IncrementRef(), and UgliStripNode::IncrementRef().

00076 {
00077    // assignment keeps reference counts up-to-date
00078 
00079    
00080    if (fUgliStripNode) fUgliStripNode->DecrementRef();
00081    if (fGeoStripNode) fGeoStripNode->DecrementRef();
00082    
00083    fUgliStripNode = that.fUgliStripNode;
00084    fGeoStripNode = that.fGeoStripNode;
00085    
00086    if (fUgliStripNode) fUgliStripNode->IncrementRef();
00087    if (fGeoStripNode) fGeoStripNode->IncrementRef();
00088 
00089    return *this;
00090 }

Float_t UgliStripHandle::PartialLength const StripEnd::StripEnd_t  end  )  const [inline, virtual]
 

Definition at line 135 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::PartialLength(), and UgliStripNode::PartialLength().

Referenced by PhotonCalibratedPeComputer::ComputePhotons(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), PhotonFullBlueTracker::ScintPhotonToFibreHit(), PhotonFastBlueModel::ScintPhotonToFibreHit(), PhotonDefaultModel::ScintPhotonToFibreHit(), GeoValidate::TestStrip_PartialLength(), and PhotonTransport::VerifyScintHit().

00136 { if ( !IsGeo() ) return fUgliStripNode->PartialLength(end);
00137  else             return (fGeoStripNode->PartialLength(end))*Munits::cm; }

void UgliStripHandle::RotateRelMdlBy Float_t  deltaRadians  )  [inline]
 

Definition at line 183 of file UgliStripHandle.h.

References GetZRotRelMdlRad(), and SetZRotRelMdlRad().

00184 { SetZRotRelMdlRad(GetZRotRelMdlRad()+deltaRadians); }

void UgliStripHandle::SetLTPosRelMdl Float_t  lpos,
Float_t  tpos
 

Definition at line 128 of file UgliStripHandle.cxx.

References AttemptSet(), fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::SetLTPosRelMdl(), and UgliStripNode::SetLTPosRelMdl().

Referenced by ShiftLTPosRelMdlBy().

00129 {
00130   if (!AttemptSet("LTPos")) return;
00131   if (!IsGeo())fUgliStripNode->SetLTPosRelMdl(lpos,tpos);
00132   else fGeoStripNode->SetLTPosRelMdl(lpos/Munits::cm,tpos/Munits::cm);
00133   
00134 }

void UgliStripHandle::SetZRotRelMdlRad Float_t  radians  ) 
 

Definition at line 120 of file UgliStripHandle.cxx.

References AttemptSet(), fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::SetZRotRelMdlRad(), and UgliStripNode::SetZRotRelMdlRad().

Referenced by RotateRelMdlBy().

00121 {
00122   if (!AttemptSet("ZRotRelMdlRad")) return;
00123   if (!IsGeo())fUgliStripNode->SetZRotRelMdlRad(radians);
00124   else fGeoStripNode->SetZRotRelMdlRad(radians);
00125   
00126 }

void UgliStripHandle::ShiftLTPosRelMdlBy Float_t  dlpos,
Float_t  dtpos
[inline]
 

Definition at line 186 of file UgliStripHandle.h.

References GetLPosRelMdl(), GetTPosRelMdl(), and SetLTPosRelMdl().

00187 { SetLTPosRelMdl((GetLPosRelMdl()+dlpos)/Munits::cm,
00188                  (GetTPosRelMdl()+dtpos)/Munits::cm); }

Float_t UgliStripHandle::TotalAttenuation const StripEnd::StripEnd_t  end,
const Float_t  alongLength
const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 155 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::TotalAttenuation(), and UgliStripNode::TotalAttenuation().

00156 { if ( !IsGeo() ) return fUgliStripNode->TotalAttenuation(end,alongLength);
00157   else            return fGeoStripNode->TotalAttenuation(end,
00158                                          alongLength/Munits::cm);  } 

Float_t UgliStripHandle::WlsBypass  )  const [inline, virtual]
 

Definition at line 147 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::WlsBypass(), and UgliStripNode::WlsBypass().

Referenced by PhotonCalibratedPeComputer::ComputePhotons(), TrackDirectionModule::ConvertToLocal(), MakeAlignmentModule::ConvertToLocal(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), PhotonFullBlueTracker::ScintPhotonToFibreHit(), PhotonFastBlueModel::ScintPhotonToFibreHit(), PhotonDefaultModel::ScintPhotonToFibreHit(), GeoValidate::TestStrip_WlsBypass(), and PhotonTransport::VerifyScintHit().

00148 { if ( !IsGeo() ) return fUgliStripNode->WlsBypass();
00149   else            return (fGeoStripNode->WlsBypass())*Munits::cm;  } 

Float_t UgliStripHandle::WlsPigtail const StripEnd::StripEnd_t  end  )  const [inline, virtual]
 

Implements UgliStripABC.

Definition at line 143 of file UgliStripHandle.h.

References fGeoStripNode, fUgliStripNode, IsGeo(), GeoStripNode::WlsPigtail(), and UgliStripNode::WlsPigtail().

Referenced by MuCalFitterModule::Ana(), FitTrackMSListModule::Ana(), CompareToReroot::Ana(), AltDeMuxDisplay::Ana(), TimingVarsAna::Analyze(), MeuReco::CalcStripDists(), PhotonCalibratedBlueComputer::ComputePhotons(), TrackDirectionModule::ConvertToLocal(), MakeAlignmentModule::ConvertToLocal(), StripAttenCalScheme::DecalAttenCorrected(), SimpleCalScheme::DecalAttenCorrected(), MNtpModule::FillTrkInfo(), AlgTrackSRList::FindTimingDirection(), AlgTrackSR::FindTimingDirection(), AlgShowerSR::FindTimingDirection(), StripAttenCalScheme::GetAttenCorrected(), SimpleCalScheme::GetAttenCorrected(), DmxMuonPlane::GetTimingOffset(), DmxHypothesis::GetTimingOffset(), PhotonFullGreenTracker::GreenPhotonToPe(), PhotonDefaultModel::GreenPhotonToPe(), PhotonCompositeGreenTracker::GreenPhotonToPe(), load_better_mipcal(), AlgFitTrackCam::NDStripBegTime(), AlgTrackAtNu::RunAlg(), AlgShowerAtNu::RunAlg(), AlgFarDetStrip::RunAlg(), AlgFarDetShieldPlank::RunAlg(), StripKG::Set(), AltDeMuxCalc::SetFibreLengthE(), AltDeMuxCalc::SetFibreLengthW(), AlgTrack::SetT(), AlgShowerSR::SetT(), ShieldGeom::SetupShieldGeom(), AlgTrackCam::SetupTimingInfo(), AlgShowerCam::SetupTimingInfo(), PhotonInjector::SimulateEvent(), GeoValidate::TestStrip_WlsPigtail(), AlgFitTrackCam::TimingFit(), and MeuPlots::ugliClearFibre().

00144 { if ( !IsGeo() ) return fUgliStripNode->WlsPigtail(end); 
00145   else            return (fGeoStripNode->WlsPigtail(end))*Munits::cm; } 


Member Data Documentation

GeoStripNode* UgliStripHandle::fGeoStripNode [protected]
 

Definition at line 94 of file UgliStripHandle.h.

Referenced by ClearFiber(), DistanceAlong(), GetHalfLength(), GetHalfThickness(), GetHalfWidth(), GetLPosRelMdl(), GetScintMdlHandle(), GetScintPlnHandle(), GetSEId(), GetTPos(), GetTPosRelMdl(), GetZRotRelMdlRad(), GlobalPos(), GlobalToLocal(), Intersection(), IsFrozen(), IsGeo(), IsMirrored(), LocalToGlobal(), operator=(), PartialLength(), SetLTPosRelMdl(), SetZRotRelMdlRad(), TotalAttenuation(), UgliStripHandle(), WlsBypass(), WlsPigtail(), and ~UgliStripHandle().

UgliStripNode* UgliStripHandle::fUgliStripNode [protected]
 

Definition at line 93 of file UgliStripHandle.h.

Referenced by ClearFiber(), DistanceAlong(), GetHalfLength(), GetHalfThickness(), GetHalfWidth(), GetLPosRelMdl(), GetScintMdlHandle(), GetScintPlnHandle(), GetSEId(), GetTPos(), GetTPosRelMdl(), GetZRotRelMdlRad(), GlobalPos(), GlobalToLocal(), Intersection(), IsFrozen(), IsMirrored(), LocalToGlobal(), operator=(), PartialLength(), SetLTPosRelMdl(), SetZRotRelMdlRad(), TotalAttenuation(), UgliStripHandle(), WlsBypass(), WlsPigtail(), and ~UgliStripHandle().


The documentation for this class was generated from the following files:
Generated on Fri Mar 28 16:14:12 2008 for loon by  doxygen 1.3.9.1