#include <UgliStripHandle.h>
Inheritance diagram for UgliStripHandle:

Public Member Functions | |
| UgliStripHandle (UgliStripNode *stripNode) | |
| UgliStripHandle (GeoStripNode *stripNode) | |
| UgliStripHandle (const UgliStripHandle &that) | |
| UgliStripHandle & | operator= (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 | |
| UgliStripNode * | fUgliStripNode |
| GeoStripNode * | fGeoStripNode |
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
|
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); }
|
|
|
|
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; }
|
|
|
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; }
|
|
|
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; }
|
|
|
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 }
|
|
|
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 }
|
|
|
|
|
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; }
|
|
|
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(); }
|
|
||||||||||||||||
|
||||||||||||
|
Definition at line 156 of file UgliStripHandle.cxx. References fGeoStripNode, fUgliStripNode, 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 }
|
|
|
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 }
|
|
|
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();}
|
|
|
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); }
|
|
|
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); }
|
|
|
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; }
|
|
||||||||||||
|
Definition at line 173 of file UgliStripHandle.cxx. References fGeoStripNode, fUgliStripNode, 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 }
|
|
|
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 }
|
|
|
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; }
|
|
|
Definition at line 183 of file UgliStripHandle.h. References GetZRotRelMdlRad(), and SetZRotRelMdlRad(). 00184 { SetZRotRelMdlRad(GetZRotRelMdlRad()+deltaRadians); }
|
|
||||||||||||
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
Definition at line 186 of file UgliStripHandle.h. References GetLPosRelMdl(), GetTPosRelMdl(), and SetLTPosRelMdl(). 00187 { SetLTPosRelMdl((GetLPosRelMdl()+dlpos)/Munits::cm,
00188 (GetTPosRelMdl()+dtpos)/Munits::cm); }
|
|
||||||||||||
|
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); }
|
|
|
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; }
|
|
|
|
1.3.9.1