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

UgliGeomHandle Class Reference

#include <UgliGeomHandle.h>

Inheritance diagram for UgliGeomHandle:

UgliGeomABC List of all members.

Public Member Functions

 UgliGeomHandle (const VldContext &vldc, Ugli::EModifyMode mmode=Ugli::kUseGlobal, Geo::EAppType apptype=Geo::kRecons)
 UgliGeomHandle (const UgliGeomHandle &that)
UgliGeomHandleoperator= (const UgliGeomHandle &ugh)
 UgliGeomHandle ()
virtual ~UgliGeomHandle ()
virtual Bool_t IsGeo () const
virtual Bool_t IsValid () const
virtual Bool_t IsFrozen () const
virtual Bool_t IsAlgorithmic () const
virtual UgliScintPlnHandle GetScintPlnHandle (PlexPlaneId planeid)
virtual UgliSteelPlnHandle GetSteelPlnHandle (PlexPlaneId planeid)
virtual UgliStripHandle GetStripHandle (PlexStripEndId seid)
std::vector< UgliScintPlnHandleGetScintPlnHandleVector ()
std::vector< UgliSteelPlnHandleGetSteelPlnHandleVector ()
std::vector< UgliPlnHandleGetPlnHandleVector ()
virtual PlexPlaneId GetPlaneIdFromZ (Double_t z) const
virtual UgliSteelPlnHandle GetNearestSteelPlnHandle (Double_t z) const
virtual void GetTransverseExtent (PlaneView::PlaneView_t view, Float_t &tmin, Float_t &tmax) const
virtual void GetTransverseExtent (PlaneView::PlaneView_t view, Double_t &tmin, Double_t &tmax) const
virtual void GetZExtent (Float_t &zmin, Float_t &zmax, Int_t isuper=-1) const
virtual void GetZExtent (Double_t &zmin, Double_t &zmax, Int_t isuper=-1) const
virtual TVector3 GetHallExtentMin () const
virtual TVector3 GetHallExtentMax () const
virtual const VldRangeGetVldRange () const
virtual void Draw (Option_t *option="")
virtual void Print (Option_t *option="") const
virtual void ls (Option_t *option="rsn5") const
virtual void uv2xy (Float_t u, Float_t v, Float_t &x, Float_t &y) const
virtual void uv2xy (Double_t u, Double_t v, Double_t &x, Double_t &y) const
virtual void xy2uv (Float_t x, Float_t y, Float_t &u, Float_t &v) const
virtual void xy2uv (Double_t x, Double_t y, Double_t &u, Double_t &v) const
virtual TVector3 uvz2xyz (const TVector3 &uvz) const
virtual TVector3 xyz2uvz (const TVector3 &xyz) const
virtual void UpdateGlobalManager () const

Static Public Member Functions

bool DoesValidGeomExist (const VldContext &vldc, Ugli::EModifyMode mmode=Ugli::kUseGlobal)

Protected Attributes

UgliGeometryfUgliGeometry
GeoGeometryfGeoGeometry

Private Member Functions

void Copy (TObject &that) const

Constructor & Destructor Documentation

UgliGeomHandle::UgliGeomHandle const VldContext vldc,
Ugli::EModifyMode  mmode = Ugli::kUseGlobal,
Geo::EAppType  apptype = Geo::kRecons
 

Definition at line 56 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, Ugli::GetDefaultModifyMode(), UgliLoanPool::GetGeoGeometry(), UgliLoanPool::GetUgliGeometry(), GeoRefCnt::IncrementRef(), UgliRefCnt::IncrementRef(), UgliLoanPool::Instance(), and UgliLoanPool::UseGeo().

00058                                                     : fUgliGeometry(0),
00059                                                         fGeoGeometry(0)
00060 {
00061    // Normal constructor
00062 
00063    Bool_t use_frozen = true;
00064    switch (mmode) {
00065    case (Ugli::kModifiable): use_frozen = false; break;
00066    case (Ugli::kFrozen):     use_frozen = true;  break;
00067    case (Ugli::kUseGlobal): 
00068       use_frozen = true;
00069       if (Ugli::kModifiable == 
00070           Ugli::GetDefaultModifyMode()) use_frozen = false;
00071       break;
00072    }
00073 
00074    if ( !UgliLoanPool::Instance()->UseGeo() ) {
00075      fUgliGeometry 
00076        = UgliLoanPool::Instance()->GetUgliGeometry(vldc,use_frozen);
00077      fUgliGeometry->IncrementRef();
00078    }
00079    else {
00080      fGeoGeometry
00081        = UgliLoanPool::Instance()->GetGeoGeometry(vldc,use_frozen,apptype);
00082      fGeoGeometry->IncrementRef();
00083    }
00084    
00085 }

UgliGeomHandle::UgliGeomHandle const UgliGeomHandle that  ) 
 

Definition at line 88 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoRefCnt::IncrementRef(), UgliRefCnt::IncrementRef(), and IsGeo().

00089   : UgliGeomABC()
00090 {
00091    // copy constructor keeps reference count up-to-date
00092 
00093    // patterned after other ROOT objects
00094 
00095    ((UgliGeomHandle&)that).Copy(*this);
00096    if ( !IsGeo() ) fUgliGeometry->IncrementRef();
00097    else fGeoGeometry->IncrementRef();
00098    
00099 }

UgliGeomHandle::UgliGeomHandle  ) 
 

Definition at line 26 of file UgliGeomHandle.cxx.

References UgliLoanPool::GetGeoGeometry(), UgliLoanPool::GetUgliGeometry(), GeoRefCnt::IncrementRef(), UgliRefCnt::IncrementRef(), UgliLoanPool::Instance(), MSG, and UgliLoanPool::UseGeo().

00027   : fUgliGeometry(0),fGeoGeometry(0)
00028 {
00029    // Default constructor
00030 
00031    MSG("Ugli",Msg::kWarning) 
00032       << endl
00033       << "UgliGeomHandle created by default ctor" 
00034       << endl;
00035 
00036 //   assert(0);
00037 
00038    VldContext vldc(DetectorType::kUnknown,SimFlag::kUnknown,
00039                    VldTimeStamp((time_t)0,0));
00040 
00041    if ( !UgliLoanPool::Instance()->UseGeo() ) {
00042      fUgliGeometry 
00043        = UgliLoanPool::Instance()->GetUgliGeometry(vldc,true);
00044      fUgliGeometry->IncrementRef();
00045    }
00046    else {
00047      fGeoGeometry
00048        = UgliLoanPool::Instance()->GetGeoGeometry(vldc,true,Geo::kRecons);
00049      fGeoGeometry->IncrementRef();
00050    }
00051    
00052 
00053 }

UgliGeomHandle::~UgliGeomHandle  )  [virtual]
 

Definition at line 102 of file UgliGeomHandle.cxx.

References GeoRefCnt::DecrementRef(), UgliRefCnt::DecrementRef(), fGeoGeometry, fUgliGeometry, and IsGeo().

00103 {
00104    // handle deletion updates reference count
00105    if ( !IsGeo() ) fUgliGeometry->DecrementRef();
00106    else            fGeoGeometry->DecrementRef();
00107   
00108 } 


Member Function Documentation

void UgliGeomHandle::Copy TObject &  that  )  const [private]
 

Definition at line 136 of file UgliGeomHandle.cxx.

00137 {
00138    // actual copying
00139 
00140    TObject::Copy(that);
00141    ((UgliGeomHandle&)that).fUgliGeometry = fUgliGeometry;
00142    ((UgliGeomHandle&)that).fGeoGeometry  = fGeoGeometry;
00143 
00144 }

bool UgliGeomHandle::DoesValidGeomExist const VldContext vldc,
Ugli::EModifyMode  mmode = Ugli::kUseGlobal
[static]
 

Definition at line 127 of file UgliGeomHandle.cxx.

References UgliLoanPool::DoesValidGeomExist(), and UgliLoanPool::Instance().

00129 {
00130    // static method for testing if ctor will construct a new geometry
00131    // turns around and asks UgliLoanPool
00132    return UgliLoanPool::Instance()->DoesValidGeomExist(vldc,mmode);
00133 }

void UgliGeomHandle::Draw Option_t *  option = ""  )  [inline, virtual]
 

Reimplemented from UgliGeomABC.

Definition at line 181 of file UgliGeomHandle.h.

References GeoGeometry::Draw(), UgliGeometry::Draw(), fGeoGeometry, fUgliGeometry, IsGeo(), and option.

Referenced by UserDisplayModule::AddTrack(), UserDisplayModule::BuildDisplay(), NueDisplayModule::BuildDisplay(), PageDisplay::DrawGeometry(), MCDisp::Update(), and EVD::UpdateView().

00182 { if ( !IsGeo() ) fUgliGeometry->Draw(option); 
00183   else            fGeoGeometry->Draw(option); }

TVector3 UgliGeomHandle::GetHallExtentMax  )  const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 168 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetHallExtentMax(), UgliGeometry::GetHallExtentMax(), and IsGeo().

00169 { if ( !IsGeo() ) return fUgliGeometry->GetHallExtentMax(); 
00170   else            return fGeoGeometry->GetHallExtentMax(); }

TVector3 UgliGeomHandle::GetHallExtentMin  )  const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 164 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetHallExtentMin(), UgliGeometry::GetHallExtentMin(), and IsGeo().

00165 { if ( !IsGeo() ) return fUgliGeometry->GetHallExtentMin(); 
00166   else            return fGeoGeometry->GetHallExtentMin(); }

UgliSteelPlnHandle UgliGeomHandle::GetNearestSteelPlnHandle Double_t  z  )  const [inline, virtual]
 

Definition at line 173 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetNearestSteelPlnNode(), UgliGeometry::GetNearestSteelPlnNode(), and IsGeo().

Referenced by AlgFitTrackSR::CalculateNoise(), and BfldCache::SetSteelAndPlaneMapCacheFromZ().

00174 {
00175   if ( !IsGeo() ) 
00176     return UgliSteelPlnHandle(fUgliGeometry->GetNearestSteelPlnNode(z));
00177   else 
00178     return UgliSteelPlnHandle(fGeoGeometry->GetNearestSteelPlnNode(z));
00179 }

virtual PlexPlaneId UgliGeomHandle::GetPlaneIdFromZ Double_t  z  )  const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 65 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetPlaneIdFromZ(), UgliGeometry::GetPlaneIdFromZ(), and IsGeo().

Referenced by PreFilter::Ana(), AlgFitTrackSR::RunAlg(), and AlgFitTrack3::SwimAndFillMaps().

00066       { if ( !IsGeo() ) return fUgliGeometry->GetPlaneIdFromZ(z);
00067         else            return fGeoGeometry->GetPlaneIdFromZ(z); }

vector< UgliPlnHandle > UgliGeomHandle::GetPlnHandleVector  ) 
 

Definition at line 206 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetPlnNodePtrVector(), UgliGeometry::GetPlnNodePtrVector(), and IsGeo().

Referenced by SwimGeo::SwimGeo().

00207 {
00208 //{ return fUgliGeometry->GetPlnHandleVector(); }
00209   vector<UgliPlnHandle> plnHandles;
00210   if ( !IsGeo() ) {
00211     vector<UgliPlnNode*>  plnNodes =
00212       fUgliGeometry->GetPlnNodePtrVector();
00213     for (unsigned int i=0; i<plnNodes.size(); ++i)
00214       plnHandles.push_back(UgliPlnHandle(plnNodes[i]));
00215   }
00216   else {
00217     vector<GeoPlnNode*>  plnNodes =
00218       fGeoGeometry->GetPlnNodePtrVector();
00219     for (unsigned int i=0; i<plnNodes.size(); ++i)
00220       plnHandles.push_back(UgliPlnHandle(plnNodes[i]));
00221   }
00222   
00223   return plnHandles;
00224 }

UgliScintPlnHandle UgliGeomHandle::GetScintPlnHandle PlexPlaneId  planeid  )  [virtual]
 

Definition at line 150 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetScintPlnNode(), UgliGeometry::GetScintPlnNode(), and IsGeo().

Referenced by RecoTreeModule::Ana(), AtNuTreeModule::Ana(), CandTrackHandle::BelongsWithShower(), CandShowerHandle::BelongsWithShower(), CandTrackHandle::BelongsWithTrack(), CandShowerSRHandle::BelongsWithTrack(), CandShowerHandle::BelongsWithTrack(), AlgTrackSRList::FindNumSkippedPlanes(), AlgFitTrackSR::FindNumSkippedPlanes(), AlgTrackSRList::FindTimingDirection(), ToyMCModule::Get(), DmxShowerPlane::GetHypothesisLowerBound(), DmxMuonPlane::GetHypothesisLowerBound(), GeoFT::GetX0(), GeoFT::GetZ(), DmxShowerPlane::GetZPosition(), DmxMuonPlane::GetZPosition(), AlgTrackSR::RunAlg(), AlgShowerSS::RunAlg(), AlgShowerSR::RunAlg(), AlgFarDetStrip::RunAlg(), AlgAtNuRecoMCTruth::RunAlg(), AlgTrack::SetdS(), DmxShowerPlane::SetStrips(), DmxMuonPlane::SetStrips(), ShieldGeom::SetupShieldGeom(), AlgShowerSR::SetUV(), AlgTrack::SetUVZ(), AlgFitTrackSR::SwimVertexAndEndPoints(), and TimeCalibratorSRModule::UpdateTable().

00151 { if ( !IsGeo() ) 
00152     return UgliScintPlnHandle(fUgliGeometry->GetScintPlnNode(planeid)); 
00153   else 
00154     return UgliScintPlnHandle(fGeoGeometry->GetScintPlnNode(planeid)); }

vector< UgliScintPlnHandle > UgliGeomHandle::GetScintPlnHandleVector  ) 
 

Definition at line 164 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetScintPlnNodePtrVector(), UgliGeometry::GetScintPlnNodePtrVector(), and IsGeo().

Referenced by AlignmentHistograms::AlignmentHistograms(), UserDisplayModule::BuildDisplay(), EVD::DrawVS(), MultiPage::FullZoom(), EVD::FullZoom(), DataUtil::GetDetectorBinsUV(), StraightTrackAlignment::Init(), EVD::UpdateView(), and WriteAlignmentModule::WriteAlignmentModule().

00165 {
00166 //{ return fUgliGeometry->GetScintPlnHandleVector(); }
00167   vector<UgliScintPlnHandle> scintPlnHandles;
00168   if ( !IsGeo() ) {
00169     vector<UgliScintPlnNode*>  scintPlnNodes =
00170       fUgliGeometry->GetScintPlnNodePtrVector();
00171     for (unsigned int i=0; i<scintPlnNodes.size(); ++i)
00172       scintPlnHandles.push_back(UgliScintPlnHandle(scintPlnNodes[i]));
00173   }
00174   else {
00175     vector<GeoScintPlnNode*>  scintPlnNodes =
00176       fGeoGeometry->GetScintPlnNodePtrVector();
00177     for (unsigned int i=0; i<scintPlnNodes.size(); ++i)
00178       scintPlnHandles.push_back(UgliScintPlnHandle(scintPlnNodes[i]));
00179   }
00180   
00181   return scintPlnHandles;
00182 }

UgliSteelPlnHandle UgliGeomHandle::GetSteelPlnHandle PlexPlaneId  planeid  )  [inline, virtual]
 

Definition at line 137 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetSteelPlnNode(), UgliGeometry::GetSteelPlnNode(), and IsGeo().

Referenced by BfldCache::FindPlaneMapFromId(), VertexFinder::FindVertex(), GeoFT::GetdZSteel(), GeoFT::GetX0(), GeoFT::GetZ(), BfldCache::IsInCoilRegion(), AlgTrackAtNu::RunAlg(), AlgShowerAtNu::RunAlg(), AlgFitTrackAtNu::RunAlg(), and AlgTrack::SetdS().

00138 { if ( !IsGeo() ) 
00139     return UgliSteelPlnHandle(fUgliGeometry->GetSteelPlnNode(planeid));
00140   else return UgliSteelPlnHandle(fGeoGeometry->GetSteelPlnNode(planeid)); }

vector< UgliSteelPlnHandle > UgliGeomHandle::GetSteelPlnHandleVector  ) 
 

Definition at line 185 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetSteelPlnNodePtrVector(), UgliGeometry::GetSteelPlnNodePtrVector(), and IsGeo().

Referenced by DataUtil::GetDetectorBinsZ().

00186 {
00187 //{ return fUgliGeometry->GetSteelPlnHandleVector(); }
00188   vector<UgliSteelPlnHandle> steelPlnHandles;
00189   if ( !IsGeo() ) {
00190     vector<UgliSteelPlnNode*>  steelPlnNodes =
00191       fUgliGeometry->GetSteelPlnNodePtrVector();
00192     for (unsigned int i=0; i<steelPlnNodes.size(); ++i)
00193       steelPlnHandles.push_back(UgliSteelPlnHandle(steelPlnNodes[i]));
00194   }
00195   else {
00196     vector<GeoSteelPlnNode*>  steelPlnNodes =
00197       fGeoGeometry->GetSteelPlnNodePtrVector();
00198     for (unsigned int i=0; i<steelPlnNodes.size(); ++i)
00199       steelPlnHandles.push_back(UgliSteelPlnHandle(steelPlnNodes[i]));
00200   }
00201   
00202   return steelPlnHandles;
00203 }

UgliStripHandle UgliGeomHandle::GetStripHandle PlexStripEndId  seid  )  [virtual]
 

Definition at line 157 of file UgliGeomHandle.cxx.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetStripNode(), UgliGeometry::GetStripNode(), and IsGeo().

Referenced by ScintHitAna::Ana(), RecoTreeModule::Ana(), MuCalFitterModule::Ana(), FitTrackMSListModule::Ana(), FarDetCandStripDump::Ana(), CompareToReroot::Ana(), ChopModule::Ana(), AtNuTreeModule::Ana(), AltDeMuxDisplay::Ana(), PhotonMuonDecalibrator::AttenCorrectionExplicit(), PhotonMuonDecalibrator::AttenCorrectionMapperFits(), PhotonMuonDecalibrator::AttenCorrectionMuon(), PhotonMapperPlusMuonComputer::ComputePhotons(), PhotonCalibratedPeComputer::ComputePhotons(), PhotonCalibratedBlueComputer::ComputePhotons(), TridPageDetector::CreateSketches(), StripAttenCalScheme::DecalAttenCorrected(), SimpleCalScheme::DecalAttenCorrected(), Calibrator::DecalAttenCorrectedTpos(), AlgDeMuxBeam::DeMuxFirstNPlanesTest(), DrawMuonTracksModule::DrawTracks(), EVD::DrawVS(), ChopEvaluation::Evaluate(), NtpMCModule::FillNtpMCDigiScintHit(), NtpSRModule::FillNtpShieldStrip(), AlgDeMuxBeam::FindDigitCoG(), AlgTrackSRList::FindTimingDirection(), AlgTrackSR::FindTimingDirection(), AlgShowerSR::FindTimingDirection(), flshit_massage_local(), AlgTrackSRList::FormCandTrackSR(), StripAttenCalScheme::GetAttenCorrected(), SimpleCalScheme::GetAttenCorrected(), SigMappedCalScheme::GetAttenCorrected(), Calibrator::GetAttenCorrectedTpos(), DmxShowerPlane::GetBestCoG(), PreFilter::GetCDHTPos(), PreFilter::GetCDHZPos(), DmxShowerPlane::GetCoG(), DmxMuonPlane::GetCoG(), AltDeMuxModule::GetFibreLengths(), AlgAltDeMuxBase::GetFibreLengths(), DmxShowerPlane::GetHypothesisCoG(), DmxMuonPlane::GetInitialCoG(), DmxShowerPlane::GetSecondBestCoG(), DmxShowerPlane::GetThirdBestCoG(), DmxMuonPlane::GetTimingOffset(), DmxHypothesis::GetTimingOffset(), load_better_mipcal(), CheezyDisplay::PlaneStripToXY(), MakeAlignmentModule::ProcessRecord(), MakeAlignmentModule::RecalculateResiduals(), AlgDeMuxBeam::ReconcileShowerAndMuonRegions(), AlgTrackAtNu::RunAlg(), AlgShowerAtNu::RunAlg(), AlgShieldPlank::RunAlg(), AlgFarDetStrip::RunAlg(), AlgFarDetShieldPlank::RunAlg(), AlgDigiPair::RunAlg(), StripKG::Set(), AltDeMuxCalc::SetFibreLengthE(), AltDeMuxCalc::SetFibreLengthW(), AlgTrack::SetT(), ShieldGeom::SetupShieldGeom(), PreFilter::SimCheck(), PhotonTransport::SimulateScintHit(), MCDisp::Update(), HistPage::Update(), and TimeCalibratorSRModule::UpdateTable().

00158 { if ( !IsGeo() ) 
00159     return UgliStripHandle(fUgliGeometry->GetStripNode(seid)); 
00160   else
00161     return UgliStripHandle(fGeoGeometry->GetStripNode(seid)); }

void UgliGeomHandle::GetTransverseExtent PlaneView::PlaneView_t  view,
Double_t &  tmin,
Double_t &  tmax
const [inline, virtual]
 

Definition at line 148 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetTransverseExtent(), UgliGeometry::GetTransverseExtent(), and IsGeo().

00151 { if ( !IsGeo() ) fUgliGeometry->GetTransverseExtent(view,tmin,tmax);
00152   else            fGeoGeometry->GetTransverseExtent(view,tmin,tmax); }

void UgliGeomHandle::GetTransverseExtent PlaneView::PlaneView_t  view,
Float_t &  tmin,
Float_t &  tmax
const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 142 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetTransverseExtent(), UgliGeometry::GetTransverseExtent(), and IsGeo().

Referenced by UserDisplayModule::BuildDisplay(), NueDisplayModule::BuildDisplay(), distuv2edge(), MultiPage::FullZoom(), EVD::FullZoom(), PlotMuonClusterModule::PlotClusters(), AlgTrackSR::RunAlg(), and EVD::UpdateView().

00145 { if ( !IsGeo() ) fUgliGeometry->GetTransverseExtent(view,tmin,tmax); 
00146   else            fGeoGeometry->GetTransverseExtent(view,tmin,tmax); }

virtual const VldRange& UgliGeomHandle::GetVldRange  )  const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 80 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetVldRange(), UgliGeometry::GetVldRange(), and IsGeo().

Referenced by BfldCache::BfldCache(), DataUtil::GetDetectorBinsUV(), DataUtil::GetDetectorBinsZ(), IsValid(), DetectorAlignmentModule::Reco(), ShieldGeom::SetupShieldGeom(), SwimGeo::SwimGeo(), uv2xy(), xy2uv(), and BfldCache::~BfldCache().

00081       { if ( !IsGeo() ) return fUgliGeometry->GetVldRange();
00082         else return fGeoGeometry->GetVldRange(); }

void UgliGeomHandle::GetZExtent Double_t &  zmin,
Double_t &  zmax,
Int_t  isuper = -1
const [inline, virtual]
 

Definition at line 159 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetZExtent(), UgliGeometry::GetZExtent(), and IsGeo().

00161 { if ( !IsGeo() ) fUgliGeometry->GetZExtent(zmin,zmax,isuper); 
00162   else            fGeoGeometry->GetZExtent(zmin,zmax,isuper); }

void UgliGeomHandle::GetZExtent Float_t &  zmin,
Float_t &  zmax,
Int_t  isuper = -1
const [inline, virtual]
 

Implements UgliGeomABC.

Definition at line 154 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::GetZExtent(), UgliGeometry::GetZExtent(), and IsGeo().

Referenced by PreFilter::Ana(), distz2end(), UberModuleLite::FillNtpFiducial(), UberModule::FillNtpFiducial(), NtpSRModule::FillNtpFiducialDistance(), MultiPage::FullZoom(), EVD::FullZoom(), DataUtil::GetDetectorBinsZ(), AlgFitTrack3::InitializeTrkClstList(), StopMuFinderFar::IsStopping(), PlotMuonClusterModule::PlotClusters(), AlgTrackSR::RunAlg(), AlgEventSR::RunAlg(), CheezyDisplay::SetVldContext(), and EVD::UpdateView().

00156 { if ( !IsGeo() ) fUgliGeometry->GetZExtent(zmin,zmax,isuper); 
00157   else            fGeoGeometry->GetZExtent(zmin,zmax,isuper); }

Bool_t UgliGeomHandle::IsAlgorithmic  )  const [inline, virtual]
 

Definition at line 133 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::IsAlgorithmic(), UgliGeometry::IsAlgorithmic(), and IsGeo().

00134 { if ( !IsGeo() ) return fUgliGeometry->IsAlgorithmic(); 
00135   else            return fGeoGeometry->IsAlgorithmic(); }

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

Definition at line 129 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, GeoGeometry::IsFrozen(), UgliGeometry::IsFrozen(), and IsGeo().

00130 { if ( !IsGeo() ) return fUgliGeometry->IsFrozen();
00131   else            return fGeoGeometry->IsFrozen(); }

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

Definition at line 52 of file UgliGeomHandle.h.

References fGeoGeometry.

Referenced by Draw(), GetHallExtentMax(), GetHallExtentMin(), GetNearestSteelPlnHandle(), GetPlaneIdFromZ(), GetPlnHandleVector(), GetScintPlnHandle(), GetScintPlnHandleVector(), GetSteelPlnHandle(), GetSteelPlnHandleVector(), GetStripHandle(), GetTransverseExtent(), GetVldRange(), GetZExtent(), IsAlgorithmic(), IsFrozen(), ls(), operator=(), Print(), UgliGeomHandle(), UpdateGlobalManager(), and ~UgliGeomHandle().

00052 { return (fGeoGeometry != 0 ); }

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

Definition at line 121 of file UgliGeomHandle.h.

References fUgliGeometry, VldRange::GetDetectorMask(), and GetVldRange().

Referenced by UserDisplayModule::AddTrack(), UserDisplayModule::BuildDisplay(), NueDisplayModule::BuildDisplay(), EVD::DrawVS(), flshit_massage_local(), MultiPage::FullZoom(), EVD::FullZoom(), MCDisp::Update(), and EVD::UpdateView().

00122 { 
00123   if ( ( fUgliGeometry || fGeoGeometry ) &&
00124        ( GetVldRange().GetDetectorMask() != DetectorType::kUnknown ) ) 
00125     return kTRUE; // geometry constructed and valid detector type
00126   return kFALSE;
00127 }

void UgliGeomHandle::ls Option_t *  option = "rsn5"  )  const [inline, virtual]
 

Reimplemented from UgliGeomABC.

Definition at line 189 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, IsGeo(), GeoGeometry::ls(), UgliGeometry::ls(), and option.

00190 { if ( !IsGeo() ) fUgliGeometry->ls(option); 
00191   else            fGeoGeometry->ls(option); }

UgliGeomHandle & UgliGeomHandle::operator= const UgliGeomHandle ugh  ) 
 

Definition at line 111 of file UgliGeomHandle.cxx.

References GeoRefCnt::DecrementRef(), UgliRefCnt::DecrementRef(), fGeoGeometry, fUgliGeometry, GeoRefCnt::IncrementRef(), UgliRefCnt::IncrementRef(), and IsGeo().

00112 {
00113    // assignment keeps reference counts up-to-date
00114 
00115    if ( !IsGeo() ) fUgliGeometry->DecrementRef();
00116    else            fGeoGeometry->DecrementRef();   
00117 
00118    ((UgliGeomHandle&)ugh).Copy(*this);
00119 
00120    if ( !IsGeo() ) fUgliGeometry->IncrementRef();
00121    else            fGeoGeometry->IncrementRef();
00122 
00123    return *this;
00124 }

void UgliGeomHandle::Print Option_t *  option = ""  )  const [inline, virtual]
 

Reimplemented from UgliGeomABC.

Definition at line 185 of file UgliGeomHandle.h.

References fGeoGeometry, fUgliGeometry, IsGeo(), option, GeoGeometry::Print(), and UgliGeometry::Print().

Referenced by WriteAlignmentModule::WriteAlignmentModule().

00186 { if ( !IsGeo() ) fUgliGeometry->Print(option); 
00187   else            fGeoGeometry->Print(option); }

virtual void UgliGeomHandle::UpdateGlobalManager  )  const [inline, virtual]
 

Definition at line 96 of file UgliGeomHandle.h.

References fGeoGeometry, IsGeo(), and GeoGeometry::UpdateGlobalManager().

Referenced by PTSimApplication::UpdateGlobalManager().

00096                                             { 
00097      if ( !IsGeo() ) gGeoManager = 0;
00098      else fGeoGeometry->UpdateGlobalManager(); }

void UgliGeomHandle::uv2xy Double_t  u,
Double_t  v,
Double_t &  x,
Double_t &  y
const [virtual]
 

Definition at line 239 of file UgliGeomHandle.cxx.

References VldRange::GetDetectorMask(), and GetVldRange().

00240 {
00241    // convert from detector (u,v) to world (x,y)
00242 
00243    if (GetVldRange().GetDetectorMask() & DetectorType::kCalib) {
00244       x = u;
00245       y = v;
00246    } else {
00247       Double_t r_sqrt2 = 1.0 / TMath::Sqrt(2.0);
00248       x = ( u - v ) * r_sqrt2;
00249       y = ( u + v ) * r_sqrt2;
00250    }
00251 
00252 }

void UgliGeomHandle::uv2xy Float_t  u,
Float_t  v,
Float_t &  x,
Float_t &  y
const [virtual]
 

Definition at line 227 of file UgliGeomHandle.cxx.

References v.

Referenced by UserDisplayModule::AddTrack(), distuv2edge(), DrawMuonTracksModule::DrawTracks(), AlgThruMuon::RunAlg(), DataFT::SwimAsData(), DataFT::SwimAsSwimmer(), and uvz2xyz().

00228 {
00229    // convert from detector (u,v) to world (x,y)
00230 
00231    Double_t x1, y1;
00232    uv2xy((Double_t)u,(Double_t)v,x1,y1);
00233    x = x1;
00234    y = y1;
00235 
00236 }

TVector3 UgliGeomHandle::uvz2xyz const TVector3 &  uvz  )  const [virtual]
 

Definition at line 283 of file UgliGeomHandle.cxx.

References uv2xy().

Referenced by MakeAlignmentModule::ConvertToLocal(), and MakeAlignmentModule::GetDirectionalCosines().

00284 {
00285    // convert from detector (u,v,z) to world (x,y,z)
00286 
00287    Double_t x, y;
00288    uv2xy(uvz.X(),uvz.Y(),x,y);
00289    return TVector3(x,y,uvz.Z());
00290 }

void UgliGeomHandle::xy2uv Double_t  x,
Double_t  y,
Double_t &  u,
Double_t &  v
const [virtual]
 

Definition at line 267 of file UgliGeomHandle.cxx.

References VldRange::GetDetectorMask(), GetVldRange(), and v.

00268 {
00269    // convert from world (x,y) to detector (u,v)
00270 
00271    if (GetVldRange().GetDetectorMask() & DetectorType::kCalib) {
00272       u = x;
00273       v = y;
00274    } else {
00275       Double_t r_sqrt2 = 1.0 / TMath::Sqrt(2.0);
00276       u = ( x + y ) * r_sqrt2;
00277       v = (-x + y ) * r_sqrt2;
00278    }
00279 
00280 }

void UgliGeomHandle::xy2uv Float_t  x,
Float_t  y,
Float_t &  u,
Float_t &  v
const [virtual]
 

Definition at line 255 of file UgliGeomHandle.cxx.

References v.

Referenced by DataFT::SwimAsData(), DataFT::SwimAsSwimmer(), MCDisp::Update(), and xyz2uvz().

00256 {
00257    // convert from world (x,y) to detector (u,v)
00258 
00259    Double_t u1, v1;
00260    xy2uv((Double_t)x,(Double_t)y,u1,v1);
00261    u = u1;
00262    v = v1;
00263 
00264 }

TVector3 UgliGeomHandle::xyz2uvz const TVector3 &  xyz  )  const [virtual]
 

Definition at line 293 of file UgliGeomHandle.cxx.

References v, and xy2uv().

Referenced by AlignmentHistograms::AlignmentHistograms(), and MakeAlignmentModule::RecalculateResiduals().

00294 {
00295    // convert from world (x,y,z) to detector (u,v,z)
00296 
00297    Double_t u, v;
00298    xy2uv(xyz.X(),xyz.Y(),u,v);
00299    return TVector3(u,v,xyz.Z());
00300 }


Member Data Documentation

GeoGeometry* UgliGeomHandle::fGeoGeometry [protected]
 

Definition at line 106 of file UgliGeomHandle.h.

Referenced by Draw(), GetHallExtentMax(), GetHallExtentMin(), GetNearestSteelPlnHandle(), GetPlaneIdFromZ(), GetPlnHandleVector(), GetScintPlnHandle(), GetScintPlnHandleVector(), GetSteelPlnHandle(), GetSteelPlnHandleVector(), GetStripHandle(), GetTransverseExtent(), GetVldRange(), GetZExtent(), IsAlgorithmic(), IsFrozen(), IsGeo(), ls(), operator=(), Print(), UgliGeomHandle(), UpdateGlobalManager(), and ~UgliGeomHandle().

UgliGeometry* UgliGeomHandle::fUgliGeometry [protected]
 

Definition at line 105 of file UgliGeomHandle.h.

Referenced by Draw(), GetHallExtentMax(), GetHallExtentMin(), GetNearestSteelPlnHandle(), GetPlaneIdFromZ(), GetPlnHandleVector(), GetScintPlnHandle(), GetScintPlnHandleVector(), GetSteelPlnHandle(), GetSteelPlnHandleVector(), GetStripHandle(), GetTransverseExtent(), GetVldRange(), GetZExtent(), IsAlgorithmic(), IsFrozen(), IsValid(), ls(), operator=(), Print(), UgliGeomHandle(), and ~UgliGeomHandle().


The documentation for this class was generated from the following files:
Generated on Thu Nov 1 15:58:41 2007 for loon by  doxygen 1.3.9.1