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

UgliPlnHandle Class Reference

#include <UgliPlnHandle.h>

Inheritance diagram for UgliPlnHandle:

UgliPlnABC UgliScintPlnHandle UgliSteelPlnHandle List of all members.

Public Member Functions

 UgliPlnHandle (UgliPlnNode *plnNode)
 UgliPlnHandle (GeoPlnNode *plnNode)
 UgliPlnHandle (const UgliPlnHandle &that)
UgliPlnHandleoperator= (const UgliPlnHandle &that)
 UgliPlnHandle ()
virtual ~UgliPlnHandle ()
virtual Bool_t IsValid () const
virtual Bool_t IsGeo () const
virtual PlexPlaneId GetPlexPlaneId () const
virtual Int_t GetPlaneNumber () const
virtual PlaneView::PlaneView_t GetPlaneView () const
virtual PlaneCoverage::PlaneCoverage_t GetPlaneCoverage () const
virtual Float_t GetHalfThickness () const
virtual TVector3 GetCenter () const
virtual Float_t GetX0 () const
virtual Float_t GetY0 () const
virtual Float_t GetZ0 () const

Protected Attributes

UgliPlnNodefUgliPlnNode
GeoPlnNodefGeoPlnNode

Constructor & Destructor Documentation

UgliPlnHandle::UgliPlnHandle UgliPlnNode plnNode  ) 
 

Definition at line 62 of file UgliPlnHandle.cxx.

References fUgliPlnNode, GetPlexPlaneId(), UgliPlnNode::IncrementRef(), and MSG.

00063   : fUgliPlnNode(node),fGeoPlnNode(0)
00064 {
00065    //  ctor keeps reference count up-to-date
00066 
00067    if (fUgliPlnNode) {
00068      fUgliPlnNode->IncrementRef();
00069 #ifdef VERBOSE_MSG
00070      MSG("Ugli",Msg::kVerbose)  
00071        << "create handle to " << GetPlexPlaneId() << endl;
00072 #endif
00073    }
00074 #ifdef VERBOSE_MSG
00075    else
00076      MSG("Ugli",Msg::kVerbose)  << "create handle to <no-node>" << endl;
00077 #endif
00078 
00079 }

UgliPlnHandle::UgliPlnHandle GeoPlnNode plnNode  ) 
 

Definition at line 82 of file UgliPlnHandle.cxx.

References fGeoPlnNode, GetPlexPlaneId(), GeoNode::IncrementRef(), and MSG.

00083   : fUgliPlnNode(0),fGeoPlnNode(node)
00084 {
00085    //  ctor keeps reference count up-to-date
00086 
00087    if (fGeoPlnNode) {
00088      fGeoPlnNode->IncrementRef();
00089 #ifdef VERBOSE_MSG
00090      MSG("Ugli",Msg::kVerbose)  
00091        << "create geo handle to " << GetPlexPlaneId() << endl;
00092 #endif
00093    }
00094 #ifdef VERBOSE_MSG
00095    else
00096      MSG("Ugli",Msg::kVerbose)  << "create geo handle to <no-node>" << endl;
00097 #endif
00098 
00099 }

UgliPlnHandle::UgliPlnHandle const UgliPlnHandle that  ) 
 

Definition at line 102 of file UgliPlnHandle.cxx.

References fGeoPlnNode, fUgliPlnNode, GetPlexPlaneId(), GeoNode::IncrementRef(), UgliPlnNode::IncrementRef(), and MSG.

00103   : UgliPlnABC(),fUgliPlnNode(that.fUgliPlnNode),
00104     fGeoPlnNode(that.fGeoPlnNode)
00105 {
00106    // copy constructor keeps reference counts up-to-date
00107   if (fUgliPlnNode || fGeoPlnNode) {
00108     if ( fUgliPlnNode ) fUgliPlnNode->IncrementRef();
00109     if ( fGeoPlnNode ) fGeoPlnNode->IncrementRef();
00110 #ifdef VERBOSE_MSG
00111     MSG("Ugli",Msg::kVerbose)  << "copy ctor to " << GetPlexPlaneId() << endl;
00112 #endif
00113   }
00114 #ifdef VERBOSE_MSG
00115   else
00116     MSG("Ugli",Msg::kVerbose)  << "copy ctor to <no-node>" << endl;
00117 #endif
00118 
00119 }

UgliPlnHandle::UgliPlnHandle  ) 
 

Definition at line 25 of file UgliPlnHandle.cxx.

References MSG.

00026   : fUgliPlnNode(0),fGeoPlnNode(0)
00027 {
00028    // Default constructor
00029 
00030    MSG("Ugli",Msg::kError) <<
00031       "UgliPlnHandle created by default ctor" << endl;
00032 //   assert(0);
00033 }

UgliPlnHandle::~UgliPlnHandle  )  [virtual]
 

Definition at line 36 of file UgliPlnHandle.cxx.

References GeoNode::DecrementRef(), UgliPlnNode::DecrementRef(), fGeoPlnNode, fUgliPlnNode, GetPlexPlaneId(), and MSG.

00037 {
00038    // handle deletion updates reference count
00039   if ( fUgliPlnNode || fGeoPlnNode ) {
00040 #ifdef VERBOSE_MSG
00041     MSG("Ugli",Msg::kVerbose)  
00042      << "destroy handle to " << GetPlexPlaneId() << endl;
00043 #endif
00044     if ( fUgliPlnNode ) {
00045       fUgliPlnNode->DecrementRef();
00046       fUgliPlnNode = 0;
00047     }
00048     else {
00049       fGeoPlnNode->DecrementRef();
00050       fGeoPlnNode = 0;
00051     }     
00052   }
00053 #ifdef VERBOSE_MSG
00054   else
00055     MSG("Ugli",Msg::kVerbose)  
00056        << "destroy handle to <no-node>" << endl;
00057 #endif
00058   
00059 }


Member Function Documentation

TVector3 UgliPlnHandle::GetCenter  )  const [inline, virtual]
 

Implements UgliPlnABC.

Reimplemented in UgliSteelPlnHandle.

Definition at line 98 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetCenter(), UgliPlnNode::GetCenter(), and IsGeo().

Referenced by ToyMCModule::Get(), and ParticleTruthHelper::Process().

00099 { if ( !IsGeo() ) return fUgliPlnNode->GetCenter();
00100   else return (fGeoPlnNode->GetCenter())*Munits::cm;
00101 }

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

Implements UgliPlnABC.

Reimplemented in UgliSteelPlnHandle.

Definition at line 93 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetHalfThickness(), UgliPlnNode::GetHalfThickness(), and IsGeo().

Referenced by GeometryHelper::GetX0(), FidVol::infid_z_finder(), AlgTrack::SetdS(), AlgFitTrackCam::SetRangeAnddS(), AlgFitTrackMS::SetupAlg(), and SwimGeo::SwimGeo().

00094 { if ( !IsGeo() ) return fUgliPlnNode->GetHalfThickness();
00095   else return (fGeoPlnNode->GetHalfThickness())*Munits::cm;
00096 }

PlaneCoverage::PlaneCoverage_t UgliPlnHandle::GetPlaneCoverage  )  const [inline, virtual]
 

Definition at line 88 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, PlexPlaneId::GetPlaneCoverage(), GeoPlnNode::GetPlexPlaneId(), UgliPlnNode::GetPlexPlaneId(), and IsGeo().

00089 { if ( !IsGeo() ) return fUgliPlnNode->GetPlexPlaneId().GetPlaneCoverage(); 
00090   else return fGeoPlnNode->GetPlexPlaneId().GetPlaneCoverage();
00091 }

Int_t UgliPlnHandle::GetPlaneNumber  )  const [inline, virtual]
 

Definition at line 77 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, PlexPlaneId::GetPlane(), GeoPlnNode::GetPlexPlaneId(), UgliPlnNode::GetPlexPlaneId(), and IsGeo().

00078 { if ( !IsGeo() ) return fUgliPlnNode->GetPlexPlaneId().GetPlane(); 
00079  else return fGeoPlnNode->GetPlexPlaneId().GetPlane(); 
00080 }

PlaneView::PlaneView_t UgliPlnHandle::GetPlaneView  )  const [inline, virtual]
 

Definition at line 82 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, PlexPlaneId::GetPlaneView(), GeoPlnNode::GetPlexPlaneId(), UgliPlnNode::GetPlexPlaneId(), and IsGeo().

Referenced by RecoTreeModule::Ana(), AtNuTreeModule::Ana(), MeuReco::CalcLPos(), MeuReco::CalcPosOfGaps(), MeuReco::CalcPosOfTrkEndGaps(), MeuReco::CalcStripDists(), Anp::Draw::CreateTH2(), AlgAtNuRecoMCTruth::RunAlg(), and MeuPlots::ugliClearFibre().

00083 { if ( !IsGeo() ) return fUgliPlnNode->GetPlexPlaneId().GetPlaneView(); 
00084  else return fGeoPlnNode->GetPlexPlaneId().GetPlaneView(); 
00085 }

PlexPlaneId UgliPlnHandle::GetPlexPlaneId  )  const [inline, virtual]
 

Implements UgliPlnABC.

Definition at line 72 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetPlexPlaneId(), UgliPlnNode::GetPlexPlaneId(), and IsGeo().

Referenced by UgliScintPlnHandle::AttemptSet(), BfldCanvasSlice::BfldCanvasSlice(), Anp::Draw::CreateTH2(), fidvol_find_ugliplnhandle(), UgliSteelPlnHandle::GlobalToLocal(), UgliScintPlnHandle::GlobalToLocal(), UgliSteelPlnHandle::GlobalToLocalVect(), UgliSteelPlnHandle::LocalToGlobal(), UgliScintPlnHandle::LocalToGlobal(), UgliSteelPlnHandle::LocalToGlobalVect(), operator=(), BfldCache::SetSteelAndPlaneMapCache(), SwimGeo::SwimGeo(), GeoValidate::TestGeom_GetNearestSteelPlnHandle(), GeoValidate::TestGeom_GetPlnHandleVector(), GeoValidate::TestGeom_GetScintPlnHandle(), GeoValidate::TestGeom_GetScintPlnHandleVector(), GeoValidate::TestGeom_GetSteelPlnHandle(), GeoValidate::TestGeom_GetSteelPlnHandleVector(), GeoValidate::TestScintMdl(), GeoValidate::TestScintMdl_GetScintPlnHandle(), GeoValidate::TestScintPln(), GeoValidate::TestScintPln_GetClosestStrip(), GeoValidate::TestScintPln_GetX0RelSteel(), GeoValidate::TestScintPln_GetY0RelSteel(), GeoValidate::TestScintPln_GetZRotRelSteelRad(), GeoValidate::TestScintPln_GlobalToLocal(), GeoValidate::TestScintPln_LocalToGlobal(), GeoValidate::TestSteelPln(), GeoValidate::TestSteelPln_GetCenter(), GeoValidate::TestSteelPln_GetHalfThickness(), GeoValidate::TestSteelPln_GetX0(), GeoValidate::TestSteelPln_GetY0(), GeoValidate::TestSteelPln_GetZ0(), GeoValidate::TestSteelPln_GlobalToLocal(), GeoValidate::TestSteelPln_LocalToGlobal(), GeoValidate::TestStrip(), GeoValidate::TestStrip_GetScintPlnHandle(), UgliPlnHandle(), and ~UgliPlnHandle().

00073 { if ( !IsGeo() ) return fUgliPlnNode->GetPlexPlaneId(); 
00074   else return fGeoPlnNode->GetPlexPlaneId(); 
00075 }

Float_t UgliPlnHandle::GetX0  )  const [inline, virtual]
 

Implements UgliPlnABC.

Reimplemented in UgliSteelPlnHandle.

Definition at line 103 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetX0(), UgliPlnNode::GetX0(), and IsGeo().

Referenced by ShieldGeom::SetupShieldGeom().

00104 { if ( !IsGeo() ) return fUgliPlnNode->GetX0(); 
00105   else return (fGeoPlnNode->GetX0())*Munits::cm; 
00106 }

Float_t UgliPlnHandle::GetY0  )  const [inline, virtual]
 

Implements UgliPlnABC.

Reimplemented in UgliSteelPlnHandle.

Definition at line 108 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetY0(), UgliPlnNode::GetY0(), and IsGeo().

Referenced by ShieldGeom::SetupShieldGeom().

00109 { if ( !IsGeo() ) return fUgliPlnNode->GetY0(); 
00110   else return (fGeoPlnNode->GetY0())*Munits::cm;
00111 }

Float_t UgliPlnHandle::GetZ0  )  const [inline, virtual]
 

Implements UgliPlnABC.

Reimplemented in UgliSteelPlnHandle.

Definition at line 113 of file UgliPlnHandle.h.

References fGeoPlnNode, fUgliPlnNode, GeoPlnNode::GetZ0(), UgliPlnNode::GetZ0(), and IsGeo().

Referenced by Track2DSR::Add(), RecoTreeModule::Ana(), AtNuTreeModule::Ana(), CandTrackHandle::BelongsWithShower(), CandShowerHandle::BelongsWithShower(), CandTrackHandle::BelongsWithTrack(), CandShowerSRHandle::BelongsWithTrack(), CandShowerHandle::BelongsWithTrack(), BfldCanvasSlice::BfldCanvasSlice(), MeuReco::CalcPosOfGaps(), AlgTrack::CalculateTrace(), TridUVPage::CreateSketches(), TridPageDetector::CreateSketches(), Anp::Draw::CreateTH2(), AlgTrackSRList::FindNumSkippedPlanes(), AlgFitTrackSR::FindNumSkippedPlanes(), AlgTrackSRList::FindTimingDirection(), GeometryHelper::GetZ(), DmxShowerPlane::GetZPosition(), DmxMuonPlane::GetZPosition(), FidVol::infid_z_finder(), AlgFitTrackMS::InitArrays(), CandTrackHandle::IsUnphysical(), TrackDirectionModule::ProcessRecord(), MakeAlignmentModule::ReadRecord(), Track2DSR::RemoveAt(), AlgTrackSR::RunAlg(), AlgShowerSS::RunAlg(), AlgShowerSR::RunAlg(), AlgFarDetStrip::RunAlg(), Track2DSR::SetCluster(), AlgTrack::SetdS(), AlgFitTrackCam::SetRangeAnddS(), AlgFitTrackMS::SetupAlg(), ShieldGeom::SetupShieldGeom(), AlgShowerSR::SetUV(), AlgTrack::SetUVZ(), SwimGeo::SwimGeo(), and AlgFitTrackSR::SwimVertexAndEndPoints().

00114 { if ( !IsGeo() ) return fUgliPlnNode->GetZ0(); 
00115   else return (fGeoPlnNode->GetZ0())*Munits::cm;
00116 }

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

Definition at line 37 of file UgliPlnHandle.h.

References fGeoPlnNode.

Referenced by UgliSteelPlnHandle::GetCenter(), GetCenter(), UgliScintPlnHandle::GetClosestStrip(), UgliSteelPlnHandle::GetHalfThickness(), GetHalfThickness(), GetPlaneCoverage(), GetPlaneNumber(), GetPlaneView(), GetPlexPlaneId(), UgliScintPlnHandle::GetScintMdlHandleVector(), UgliScintPlnHandle::GetStripHandle(), UgliScintPlnHandle::GetStripHandleVector(), UgliSteelPlnHandle::GetX0(), GetX0(), UgliScintPlnHandle::GetX0RelSteel(), UgliSteelPlnHandle::GetY0(), GetY0(), UgliScintPlnHandle::GetY0RelSteel(), UgliSteelPlnHandle::GetZ0(), GetZ0(), UgliScintPlnHandle::GetZRotRelSteelRad(), UgliSteelPlnHandle::GlobalToLocal(), UgliScintPlnHandle::GlobalToLocal(), UgliSteelPlnHandle::GlobalToLocalVect(), UgliSteelPlnHandle::IsFrozen(), UgliScintPlnHandle::IsFrozen(), UgliSteelPlnHandle::IsValid(), UgliScintPlnHandle::IsValid(), IsValid(), UgliSteelPlnHandle::LocalToGlobal(), UgliScintPlnHandle::LocalToGlobal(), UgliSteelPlnHandle::LocalToGlobalVect(), UgliScintPlnHandle::NumberOfStrips(), UgliScintPlnHandle::SetXY0RelSteel(), and UgliScintPlnHandle::SetZRotRelSteelRad().

00037 { return (fGeoPlnNode != 0); }

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

Reimplemented in UgliScintPlnHandle, and UgliSteelPlnHandle.

Definition at line 67 of file UgliPlnHandle.h.

References IsGeo().

Referenced by FidVol::infid_z_finder(), and ShieldGeom::SetupShieldGeom().

00068 { if ( !IsGeo() ) return (fUgliPlnNode) ? kTRUE : kFALSE;
00069   else return (fGeoPlnNode) ? kTRUE : kFALSE;  
00070 }

UgliPlnHandle & UgliPlnHandle::operator= const UgliPlnHandle that  ) 
 

Definition at line 122 of file UgliPlnHandle.cxx.

References GeoNode::DecrementRef(), UgliPlnNode::DecrementRef(), fGeoPlnNode, fUgliPlnNode, GetPlexPlaneId(), GeoNode::IncrementRef(), UgliPlnNode::IncrementRef(), and MSG.

Referenced by UgliSteelPlnHandle::operator=(), and UgliScintPlnHandle::operator=().

00123 {
00124    // assignment keeps reference counts up-to-date
00125 
00126    if ( this == &that ) return *this;
00127    
00128    if ( fUgliPlnNode || fGeoPlnNode ) {
00129      if ( fUgliPlnNode ) fUgliPlnNode->DecrementRef();
00130      if ( fGeoPlnNode ) fGeoPlnNode->DecrementRef();
00131 #ifdef VERBOSE_MSG
00132      MSG("Ugli",Msg::kVerbose)  
00133        << "assignment from " << GetPlexPlaneId() << endl;
00134 #endif
00135    }
00136 #ifdef VERBOSE_MSG
00137    else
00138      MSG("Ugli",Msg::kVerbose)  << "assignment from <no-node>" << endl;
00139 #endif
00140 
00141    fUgliPlnNode = that.fUgliPlnNode;
00142    fGeoPlnNode = that.fGeoPlnNode;
00143    
00144    if ( fUgliPlnNode || fGeoPlnNode ) {
00145      if ( fUgliPlnNode ) fUgliPlnNode->IncrementRef();
00146      if ( fGeoPlnNode ) fGeoPlnNode->IncrementRef();
00147 #ifdef VERBOSE_MSG
00148      MSG("Ugli",Msg::kVerbose)  
00149        << "assignment to " << GetPlexPlaneId() << endl;
00150 #endif
00151    }
00152 #ifdef VERBOSE_MSG
00153    else
00154      MSG("Ugli",Msg::kVerbose)  << "assignment to <no-node> " << endl;
00155 #endif
00156 
00157    return *this;
00158 }


Member Data Documentation

GeoPlnNode* UgliPlnHandle::fGeoPlnNode [protected]
 

Definition at line 54 of file UgliPlnHandle.h.

Referenced by GetCenter(), GetHalfThickness(), GetPlaneCoverage(), GetPlaneNumber(), GetPlaneView(), GetPlexPlaneId(), GetX0(), GetY0(), GetZ0(), IsGeo(), operator=(), UgliPlnHandle(), and ~UgliPlnHandle().

UgliPlnNode* UgliPlnHandle::fUgliPlnNode [protected]
 

Definition at line 53 of file UgliPlnHandle.h.

Referenced by GetCenter(), GetHalfThickness(), GetPlaneCoverage(), GetPlaneNumber(), GetPlaneView(), GetPlexPlaneId(), GetX0(), GetY0(), GetZ0(), operator=(), UgliPlnHandle(), and ~UgliPlnHandle().


The documentation for this class was generated from the following files:
Generated on Sat Nov 21 22:52:32 2009 for loon by  doxygen 1.3.9.1