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

CandSubShowerSRHandle Class Reference

#include <CandSubShowerSRHandle.h>

Inheritance diagram for CandSubShowerSRHandle:

CandRecoHandle CandHandle List of all members.

Public Member Functions

 CandSubShowerSRHandle ()
 CandSubShowerSRHandle (const CandSubShowerSRHandle &csh)
 CandSubShowerSRHandle (CandSubShowerSR *cs)
virtual ~CandSubShowerSRHandle ()
virtual CandSubShowerSRHandleDupHandle () const
virtual void Trace (const char *c="") const
Double_t GetEnergy () const
void SetEnergy (Double_t)
PlaneView::PlaneView_t GetPlaneView () const
void SetPlaneView (PlaneView::PlaneView_t)
Float_t GetAvgDev () const
void SetAvgDev (Float_t)
Float_t GetSlope () const
void SetSlope (Float_t)
ClusterType::ClusterType_t GetClusterID () const
void SetClusterID (ClusterType::ClusterType_t)
Float_t GetProbEM () const
void SetProbEM (Float_t)
Float_t GetMinU (Int_t) const
Float_t GetMaxU (Int_t) const
Float_t GetMinV (Int_t) const
Float_t GetMaxV (Int_t) const
Int_t GetNStrips (Int_t) const
Double_t GetAveTime ()

Static Public Member Functions

NavKey KeyFromSlice (const CandSubShowerSRHandle *)
NavKey KeyFromViewEnergy (const CandSubShowerSRHandle *)
NavKey KeyFromReverseViewEnergy (const CandSubShowerSRHandle *)

Constructor & Destructor Documentation

CandSubShowerSRHandle::CandSubShowerSRHandle  ) 
 

Definition at line 28 of file CandSubShowerSRHandle.cxx.

Referenced by DupHandle().

00029 {
00030 }

CandSubShowerSRHandle::CandSubShowerSRHandle const CandSubShowerSRHandle csh  ) 
 

Definition at line 33 of file CandSubShowerSRHandle.cxx.

00033                                                                              :
00034   CandRecoHandle(cdh)
00035 {
00036 }

CandSubShowerSRHandle::CandSubShowerSRHandle CandSubShowerSR cs  ) 
 

Definition at line 39 of file CandSubShowerSRHandle.cxx.

00039                                                                 :
00040   CandRecoHandle(cd)
00041 {
00042 }

CandSubShowerSRHandle::~CandSubShowerSRHandle  )  [virtual]
 

Definition at line 45 of file CandSubShowerSRHandle.cxx.

00046 {
00047 }


Member Function Documentation

CandSubShowerSRHandle * CandSubShowerSRHandle::DupHandle  )  const [virtual]
 

Reimplemented from CandRecoHandle.

Definition at line 50 of file CandSubShowerSRHandle.cxx.

References CandSubShowerSRHandle().

Referenced by AlgEventSRList::AddStripToEvent(), CandShowerSRHandle::AddSubShower(), and AlgEventSRList::ReConstructShowers().

00051 {
00052    return (new CandSubShowerSRHandle(*this));
00053 }

Double_t CandSubShowerSRHandle::GetAveTime  ) 
 

Definition at line 261 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), and CandStripHandle::GetTime().

Referenced by AlgSubShowerSRList::CleanUp().

00262 {
00263   Double_t AveTime = 0.;  
00264   Double_t Tot = 0.;
00265   TIter stripItr(GetDaughterIterator());
00266   while (CandStripHandle *strip = 
00267          dynamic_cast<CandStripHandle*>(stripItr())) {  
00268     Tot += 1.;
00269     AveTime += strip->GetTime();
00270   }
00271   if(Tot<=0) return 0;
00272   return AveTime/Tot;
00273 }

Float_t CandSubShowerSRHandle::GetAvgDev  )  const
 

Definition at line 92 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AlgEventSRList::AddStripToEvent(), AlgSubShowerSRList::CleanUp(), NtpSRModule::FillNtpCluster(), AlgSubShowerSRList::FormHalo(), AlgSubShowerSRList::MergeCluster(), and AlgShowerSSList::RunAlg().

00093 {
00094   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->AvgDev;
00095 }

ClusterType::ClusterType_t CandSubShowerSRHandle::GetClusterID  )  const
 

Definition at line 104 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by CandShowerSRHandle::BelongsWithTrack(), NtpSRModule::FillNtpCluster(), AlgSubShowerSRList::FormHalo(), CandShowerSRHandle::GetMaxPhysU(), CandShowerSRHandle::GetMaxPhysV(), CandShowerSRHandle::GetMinPhysU(), CandShowerSRHandle::GetMinPhysV(), CandShowerSRHandle::GetNPhysStrips(), AlgSubShowerSRList::MergeCluster(), AlgShowerSSList::RunAlg(), and AlgSubShowerSRList::TestOverLap().

00105 {
00106   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->ClusterID;
00107 }

Double_t CandSubShowerSRHandle::GetEnergy  )  const
 

Definition at line 56 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AlgEventSRList::AddStripToEvent(), AlgSubShowerSRList::CleanUp(), NtpSRModule::FillNtpCluster(), AlgSubShowerSRList::FormHalo(), KeyFromReverseViewEnergy(), KeyFromViewEnergy(), AlgSubShowerSRList::MergeCluster(), AlgShowerSSList::RunAlg(), AlgShowerSS::RunAlg(), and AlgSubShowerSR::SubShowerID().

00057 {
00058   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->Energy;
00059 }

Float_t CandSubShowerSRHandle::GetMaxU Int_t   )  const
 

Definition at line 195 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), VldContext::GetDetector(), CandRecoHandle::GetEndPlane(), GetPlaneView(), CandStripHandle::GetTPos(), and CandHandle::GetVldContext().

Referenced by CandShowerSRHandle::GetMaxPhysU(), and AlgShowerSSList::RunAlg().

00195                                                         {
00196   if(this->GetPlaneView()!=PlaneView::kU) return -999;
00197   CandStripHandleItr sItr(GetDaughterIterator());
00198   CandStripHandle * begstrip = sItr();
00199   if(!begstrip) return -999;
00200   const VldContext * vld = begstrip->GetVldContext();
00201   if(!vld) return -999;
00202   PlexPlaneId plnid(vld->GetDetector(),iplane,false);
00203   if(plnid.GetPlaneView()!=PlaneView::kU) return -999;
00204   if(iplane<GetBegPlane() || iplane>GetEndPlane()) return -999;
00205 
00206   CandStripHandleItr stripItr(GetDaughterIterator());
00207   CandStripHandleKeyFunc *stripKf = stripItr.CreateKeyFunc();
00208   stripKf->SetFun(CandStripHandle::KeyFromPlane);
00209   stripItr.GetSet()->AdoptSortKeyFunc(stripKf);
00210   stripKf = 0;
00211   stripItr.GetSet()->Slice(iplane);
00212  
00213   Float_t maxU=-999;
00214   while (const CandStripHandle *strip =
00215          dynamic_cast<const CandStripHandle*>(stripItr())) {
00216     if(strip->GetTPos()>maxU) maxU = strip->GetTPos();
00217   }
00218   return maxU;
00219 }

Float_t CandSubShowerSRHandle::GetMaxV Int_t   )  const
 

Definition at line 223 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), VldContext::GetDetector(), CandRecoHandle::GetEndPlane(), GetPlaneView(), CandStripHandle::GetTPos(), and CandHandle::GetVldContext().

Referenced by CandShowerSRHandle::GetMaxPhysV(), and AlgShowerSSList::RunAlg().

00223                                                          {
00224   if(this->GetPlaneView()!=PlaneView::kV) return -999;
00225   CandStripHandleItr sItr(GetDaughterIterator());
00226   CandStripHandle * begstrip = sItr();
00227   if(!begstrip)return -999;
00228   const VldContext * vld = begstrip->GetVldContext();
00229   if(!vld)return -999;
00230   PlexPlaneId plnid(vld->GetDetector(),iplane,false);
00231   if(plnid.GetPlaneView()!=PlaneView::kV)return -999.;
00232   if(iplane<GetBegPlane() || iplane>GetEndPlane()) return -999;
00233 
00234   CandStripHandleItr stripItr(GetDaughterIterator());
00235   CandStripHandleKeyFunc *stripKf = stripItr.CreateKeyFunc();
00236   stripKf->SetFun(CandStripHandle::KeyFromPlane);
00237   stripItr.GetSet()->AdoptSortKeyFunc(stripKf);
00238   stripKf = 0;
00239   stripItr.GetSet()->Slice(iplane);
00240 
00241   Float_t maxV=-999.;
00242   while (const CandStripHandle *strip =
00243          dynamic_cast<const CandStripHandle*>(stripItr())) {
00244     if(strip->GetTPos()>maxV) maxV=strip->GetTPos();
00245   }
00246   return maxV;
00247 }

Float_t CandSubShowerSRHandle::GetMinU Int_t   )  const
 

Definition at line 140 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), VldContext::GetDetector(), CandRecoHandle::GetEndPlane(), GetPlaneView(), CandStripHandle::GetTPos(), and CandHandle::GetVldContext().

Referenced by CandShowerSRHandle::GetMinPhysU(), and AlgShowerSSList::RunAlg().

00140                                                         {
00141   if(this->GetPlaneView()!=PlaneView::kU) return 999;
00142   CandStripHandleItr sItr(GetDaughterIterator());
00143   CandStripHandle * begstrip = sItr();
00144   if(!begstrip) return 999;
00145   const VldContext * vld = begstrip->GetVldContext();
00146   if(!vld) return 999;
00147   PlexPlaneId plnid(vld->GetDetector(),iplane,false);
00148   if(plnid.GetPlaneView()!=PlaneView::kU) return 999.;
00149   if(iplane<GetBegPlane() || iplane>GetEndPlane()) return 999;
00150 
00151   CandStripHandleItr stripItr(GetDaughterIterator());
00152   CandStripHandleKeyFunc *stripKf = stripItr.CreateKeyFunc();
00153   stripKf->SetFun(CandStripHandle::KeyFromPlane);
00154   stripItr.GetSet()->AdoptSortKeyFunc(stripKf);
00155   stripKf = 0;
00156   stripItr.GetSet()->Slice(iplane);
00157 
00158   Float_t minU=999.;
00159   while (const CandStripHandle *strip =
00160          dynamic_cast<const CandStripHandle*>(stripItr())) {
00161    if(strip->GetTPos()<minU) minU = strip->GetTPos();
00162   }
00163   return minU;
00164 }

Float_t CandSubShowerSRHandle::GetMinV Int_t   )  const
 

Definition at line 167 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), VldContext::GetDetector(), CandRecoHandle::GetEndPlane(), GetPlaneView(), CandStripHandle::GetTPos(), and CandHandle::GetVldContext().

Referenced by CandShowerSRHandle::GetMinPhysV(), and AlgShowerSSList::RunAlg().

00167                                                         {
00168   if(this->GetPlaneView()!=PlaneView::kV) return 999;
00169   CandStripHandleItr sItr(GetDaughterIterator());
00170   CandStripHandle * begstrip = sItr();
00171   if(!begstrip) return 999;
00172   const VldContext * vld = begstrip->GetVldContext();
00173   if(!vld) return 999;
00174   PlexPlaneId plnid(vld->GetDetector(),iplane,false);
00175   if(plnid.GetPlaneView()!=PlaneView::kV) return 999;
00176   if(iplane<GetBegPlane() || iplane>GetEndPlane()) return 999;
00177 
00178   CandStripHandleItr stripItr(GetDaughterIterator());
00179   CandStripHandleKeyFunc *stripKf = stripItr.CreateKeyFunc();
00180   stripKf->SetFun(CandStripHandle::KeyFromPlane);
00181   stripItr.GetSet()->AdoptSortKeyFunc(stripKf);
00182   stripKf = 0;
00183   stripItr.GetSet()->Slice(iplane);
00184  
00185   Float_t minV=999.;
00186   while (const CandStripHandle *strip =
00187          dynamic_cast<const CandStripHandle*>(stripItr())) {
00188     if(strip->GetTPos()<minV) minV = strip->GetTPos();
00189   }
00190   return minV;
00191 }

Int_t CandSubShowerSRHandle::GetNStrips Int_t   )  const
 

Definition at line 250 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetDaughterIterator(), and CandStripHandle::GetPlane().

Referenced by CandShowerSRHandle::GetNPhysStrips().

00250                                                          {
00251   Int_t nstrips=0;
00252   CandStripHandleItr stripItr(GetDaughterIterator());
00253   while (const CandStripHandle *strip =
00254          dynamic_cast<const CandStripHandle*>(stripItr())) {
00255     if(strip->GetPlane()==iplane)nstrips++;
00256   }
00257   return nstrips;
00258 }

PlaneView::PlaneView_t CandSubShowerSRHandle::GetPlaneView  )  const
 

Definition at line 68 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AlgEventSRList::AddStripToEvent(), CandShowerSRHandle::AddSubShower(), CandShowerSRHandle::BelongsWithTrack(), AlgSubShowerSR::CalculateEnergyVertexAngle(), AlgSubShowerSRList::CleanUp(), AlgEventSRList::CreatePrimaryShower(), NtpSRModule::FillNtpCluster(), AlgSubShowerSRList::FormHalo(), CandShowerSRHandle::GetMaxPhysU(), CandShowerSRHandle::GetMaxPhysV(), GetMaxU(), GetMaxV(), CandShowerSRHandle::GetMinPhysU(), CandShowerSRHandle::GetMinPhysV(), GetMinU(), GetMinV(), KeyFromReverseViewEnergy(), KeyFromViewEnergy(), AlgSubShowerSRList::MergeCluster(), CandShowerSRHandle::RemoveSubShower(), AlgSubShowerSR::RunAlg(), AlgShowerSSList::RunAlg(), AlgShowerSS::RunAlg(), and AlgSubShowerSRList::TestOverLap().

00069 {
00070   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->planeView;
00071 }

Float_t CandSubShowerSRHandle::GetProbEM  )  const
 

Definition at line 116 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by NtpSRModule::FillNtpCluster().

00117 {
00118   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->ProbEM;
00119 }

Float_t CandSubShowerSRHandle::GetSlope  )  const
 

Definition at line 80 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetCandBase().

Referenced by AlgEventSRList::AddStripToEvent(), AlgSubShowerSRList::CleanUp(), NtpSRModule::FillNtpCluster(), AlgSubShowerSRList::FormHalo(), AlgSubShowerSRList::MergeCluster(), AlgShowerSSList::RunAlg(), AlgShowerSS::RunAlg(), and AlgSubShowerSRList::TestOverLap().

00081 {
00082   return dynamic_cast<const CandSubShowerSR *>(GetCandBase())->Slope;
00083 }

NavKey CandSubShowerSRHandle::KeyFromReverseViewEnergy const CandSubShowerSRHandle  )  [static]
 

Definition at line 296 of file CandSubShowerSRHandle.cxx.

References GetEnergy(), and GetPlaneView().

00297 {
00298   PlaneView::PlaneView_t view = subshower->GetPlaneView();
00299   Double_t eng = subshower->GetEnergy();
00300   if (view==PlaneView::kU||view==PlaneView::kX) return ((view+1)*2000+eng);
00301   if (view==PlaneView::kV||view==PlaneView::kY) return (view*1000+eng);
00302   else return (view*100+eng);  
00303 }

NavKey CandSubShowerSRHandle::KeyFromSlice const CandSubShowerSRHandle  )  [static]
 

Definition at line 279 of file CandSubShowerSRHandle.cxx.

References CandRecoHandle::GetCandSlice(), and CandHandle::GetUidInt().

00280 {
00281   if (subshower->GetCandSlice()) {
00282     return static_cast<Int_t>(subshower->GetCandSlice()->GetUidInt());
00283   }
00284   return 0;
00285 }

NavKey CandSubShowerSRHandle::KeyFromViewEnergy const CandSubShowerSRHandle  )  [static]
 

Definition at line 287 of file CandSubShowerSRHandle.cxx.

References GetEnergy(), and GetPlaneView().

00288 {
00289   PlaneView::PlaneView_t view = subshower->GetPlaneView();
00290   Double_t eng = subshower->GetEnergy();
00291   if (view==PlaneView::kU||view==PlaneView::kX) return ((view+1)*2000+eng)*(-1.);
00292   if (view==PlaneView::kV||view==PlaneView::kY) return (view*1000+eng)*(-1.);
00293   else return (view*100+eng)*(-1.);  
00294 }

void CandSubShowerSRHandle::SetAvgDev Float_t   ) 
 

Definition at line 98 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgSubShowerSR::CalculateEnergyVertexAngle().

00099 {
00100   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->AvgDev=avgdev;
00101 }

void CandSubShowerSRHandle::SetClusterID ClusterType::ClusterType_t   ) 
 

Definition at line 110 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgEventSRList::BuildEventFromUnassoc(), AlgEventSRList::CreatePrimaryShower(), AlgSubShowerSRList::FormHalo(), and AlgSubShowerSR::SubShowerID().

00111 {
00112   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->ClusterID = ss;
00113 }

void CandSubShowerSRHandle::SetEnergy Double_t   ) 
 

Definition at line 62 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgEventSRList::AddStripToEvent(), AlgSubShowerSR::CalculateEnergyVertexAngle(), and AlgSubShowerSRList::CleanUp().

00063 {
00064   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->Energy = en;
00065 }

void CandSubShowerSRHandle::SetPlaneView PlaneView::PlaneView_t   ) 
 

Definition at line 74 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgSubShowerSR::RunAlg().

00075 {
00076   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->planeView = pv;
00077 }

void CandSubShowerSRHandle::SetProbEM Float_t   ) 
 

Definition at line 122 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgSubShowerSR::SubShowerID().

00123 {
00124   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->ProbEM = probem;
00125 }

void CandSubShowerSRHandle::SetSlope Float_t   ) 
 

Definition at line 86 of file CandSubShowerSRHandle.cxx.

References CandHandle::GetOwnedCandBase().

Referenced by AlgSubShowerSR::CalculateEnergyVertexAngle().

00087 {
00088   dynamic_cast<CandSubShowerSR *>(GetOwnedCandBase())->Slope=slope;
00089 }

void CandSubShowerSRHandle::Trace const char *  c = ""  )  const [virtual]
 

Reimplemented from CandRecoHandle.

Definition at line 128 of file CandSubShowerSRHandle.cxx.

References MSG, and CandHandle::Trace().

00129 {
00130   MSG("Cand", Msg::kDebug)
00131     << "*******Begin CandSubShowerSRHandle::Trace(\"" << c << "\")" << endl
00132     << "Information from CandSubShowerSRHandle's CandHandle: " << endl;
00133   CandHandle::Trace(c);
00134   MSG("Cand", Msg::kDebug)
00135     << "*******End CandSubShowerSRHandle::Trace(\"" << c << "\")" << endl;
00136 }


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