CandSubShowerSR Class Reference

#include <CandSubShowerSR.h>

Inheritance diagram for CandSubShowerSR:
CandReco CandBase CandRefCounted

List of all members.

Public Member Functions

 CandSubShowerSR ()

Static Public Member Functions

static CandSubShowerSRHandle MakeCandidate (AlgHandle &ah, CandContext &cx)

Protected Member Functions

 CandSubShowerSR (AlgHandle &ah)
 CandSubShowerSR (AlgHandle &ah, CandHandle &ch, CandContext &cx)
 CandSubShowerSR (const CandSubShowerSR &rhs)
virtual ~CandSubShowerSR ()
virtual void CreateLocalHandle ()
virtual CandSubShowerSRDup () const
virtual Bool_t IsEquivalent (const TObject *rhs) const

Protected Attributes

Double_t Energy
PlaneView::PlaneView_t planeView
Float_t Slope
Float_t AvgDev
ClusterType::ClusterType_t ClusterID
Float_t ProbEM
Double_t MinStripPE

Friends

class CandSubShowerSRHandle

Detailed Description

Definition at line 22 of file CandSubShowerSR.h.


Constructor & Destructor Documentation

CandSubShowerSR::CandSubShowerSR (  ) 

Definition at line 23 of file CandSubShowerSR.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00024   : Energy(0), planeView(PlaneView::kUnknown), Slope(0),
00025     AvgDev(0), ClusterID(ClusterType::kUnknown), ProbEM(0),
00026     MinStripPE(0)
00027 {
00028   MSG("Cand", Msg::kDebug)
00029     << "Begin CandSubShowerSR::CandSubShowerSR() ctor: " << endl
00030     << "UidInt = " << GetUidInt()
00031     << ", ArchUidInt " << GetArchUidInt() << endl
00032     << "No. of links = " << GetNLinks() << endl
00033     << "End CandSubShowerSR::CandSubShowerSR() ctor." << endl;
00034 
00035 }

CandSubShowerSR::CandSubShowerSR ( AlgHandle ah  )  [protected]

Definition at line 38 of file CandSubShowerSR.cxx.

00038                                               :
00039   CandReco(ah)     // Should be the next class up on inheritance chain
00040   ,Energy(0), planeView(PlaneView::kUnknown), Slope(0), 
00041   AvgDev(0), ClusterID(ClusterType::kUnknown), ProbEM(0),
00042   MinStripPE(0)
00043 {
00044 
00045 // The sole purpose of this constructor is to transmit the AlgHandle
00046 // up the inheritance chain to CandBase without having to invoke the
00047 // full constructor of an intermediate Candidate type which the highest
00048 // level Candidate might inherit from.  One only wants to create the
00049 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00050 }

CandSubShowerSR::CandSubShowerSR ( AlgHandle ah,
CandHandle ch,
CandContext cx 
) [protected]

Definition at line 53 of file CandSubShowerSR.cxx.

References CreateLocalHandle(), CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, MSG, and AlgHandle::RunAlg().

00054                                                   :
00055   CandReco(ah)     // Should be the next class up on inheritance chain
00056   ,Energy(0), planeView(PlaneView::kUnknown), Slope(0), 
00057   AvgDev(0), ClusterID(ClusterType::kUnknown), ProbEM(0),
00058   MinStripPE(0)
00059 {
00060   CreateLocalHandle();
00061   MSG("Cand", Msg::kDebug)
00062     << "Begin CandSubShowerSR::CandSubShowerSR(AlgHandle &, CandHandle &, "
00063     << "CandContext &) ctor: " << endl
00064     << "UidInt = " << GetUidInt()
00065     << ", ArchUidInt " << GetArchUidInt() << endl
00066     << "No. of links = " << GetNLinks() << endl
00067     << "End CandSubShowerSR::CandSubShowerSR(AlgHandle &, CandHandle &, "
00068     << "CandContext &) ctor." << endl;
00069 
00070    // Run Algorithm to construct Candidate
00071   {                                                    // Start of scope
00072     CandSubShowerSRHandle csh(this);            // csh will go out of scope
00073     ch = csh;                                       // after setting ch.
00074   }                                                      // End of scope
00075   ah.RunAlg(ch, cx);
00076 }

CandSubShowerSR::CandSubShowerSR ( const CandSubShowerSR rhs  )  [protected]

Definition at line 79 of file CandSubShowerSR.cxx.

References AvgDev, ClusterID, Energy, CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, MinStripPE, MSG, planeView, ProbEM, and Slope.

00079                                                            :
00080   CandReco(rhs)    // Should be the next class up on inheritance chain
00081   ,Energy(0), planeView(PlaneView::kUnknown), Slope(0), 
00082   AvgDev(0), ClusterID(ClusterType::kUnknown), ProbEM(0),
00083   MinStripPE(0)
00084 {
00085 
00086   MSG("Cand", Msg::kDebug)
00087     << "Begin CandSubShowerSR::CandSubShowerSR(const CandSubShowerSR &rhs) ctor:"
00088     << endl << "UidInt = " << GetUidInt()
00089     << ", ArchUidInt " << GetArchUidInt() << endl
00090     << "No. of links = " << GetNLinks() << endl
00091     << "End CandSubShowerSR::CandSubShowerSR(const CandSubShowerSR &rhs) ctor."
00092     << endl;
00093 
00094   Energy      = rhs.Energy;
00095   planeView   = rhs.planeView;
00096   Slope       = rhs.Slope;
00097   AvgDev      = rhs.AvgDev;
00098   ClusterID   = rhs.ClusterID;
00099   ProbEM      = rhs.ProbEM;
00100   MinStripPE  = rhs.MinStripPE;
00101 
00102 }

CandSubShowerSR::~CandSubShowerSR (  )  [protected, virtual]

Definition at line 105 of file CandSubShowerSR.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.

00106 {
00107   MSG("Cand", Msg::kDebug)
00108     << "Begin CandSubShowerSR::~CandSubShowerSR() dtor: " << endl
00109     << "UidInt = " << GetUidInt()
00110     << ", ArchUidInt " << GetArchUidInt() << endl
00111     << "No. of links = " << GetNLinks() << endl
00112     << "End CandSubShowerSR::~CandSubShowerSR() dtor." << endl;
00113   
00114 }


Member Function Documentation

void CandSubShowerSR::CreateLocalHandle (  )  [protected, virtual]

Implements CandReco.

Definition at line 117 of file CandSubShowerSR.cxx.

References CandSubShowerSRHandle, and CandBase::SetLocalHandle().

Referenced by CandSubShowerSR(), and Dup().

00118 {
00119   SetLocalHandle(new CandSubShowerSRHandle(this));
00120 }

CandSubShowerSR * CandSubShowerSR::Dup (  )  const [protected, virtual]

Implements CandReco.

Definition at line 123 of file CandSubShowerSR.cxx.

References CandBase::AddDaughterLink(), CandSubShowerSR(), CreateLocalHandle(), and CandBase::GetDaughterIterator().

00124 {
00125   
00126   // Base copy ctor dups owned pointers, but defers copying Daughter List.
00127   // Daughter List copy is made in the derived class Dup() function.
00128   // This is because base class copy constructor hasn't yet created
00129   // fLocalHandle with a CandHandle* of the full derived type.
00130   CandSubShowerSR *cb = new CandSubShowerSR(*this);     // Copy-ctor dups ptrs
00131   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00132   TIter iterdau = GetDaughterIterator();
00133   CandHandle *dau;
00134   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00135   return cb;
00136 }

Bool_t CandSubShowerSR::IsEquivalent ( const TObject *  rhs  )  const [protected, virtual]

Reimplemented from CandReco.

Definition at line 139 of file CandSubShowerSR.cxx.

References AvgDev, ClusterID, Energy, CandReco::IsEquivalent(), MinStripPE, planeView, ProbEM, Slope, and CandBase::TestDisplayCandBanner().

00140 {
00141   Bool_t result = true;
00142   if (!CandReco::IsEquivalent(rhs)) result = false;   // superclass test  
00143   TestDisplayCandBanner("CandSubShowerSR");
00144   const CandSubShowerSR* rCnd = dynamic_cast<const CandSubShowerSR*>(rhs);
00145   if (rCnd == NULL) return false;
00146   
00147   if(dynamic_cast<const CandSubShowerSR*>(rhs)->Energy!=Energy) 
00148     return false;
00149 
00150   if(dynamic_cast<const CandSubShowerSR*>(rhs)->planeView!=planeView) 
00151     return false;
00152 
00153   if(dynamic_cast<const CandSubShowerSR*>(rhs)->Slope!=Slope) 
00154     return false;
00155 
00156   if(dynamic_cast<const CandSubShowerSR*>(rhs)->AvgDev!=AvgDev) 
00157     return false;
00158   
00159   if(dynamic_cast<const CandSubShowerSR*>(rhs)->ClusterID!=ClusterID) 
00160     return false;
00161 
00162   if(dynamic_cast<const CandSubShowerSR*>(rhs)->ProbEM!=ProbEM) 
00163     return false;
00164 
00165   if(dynamic_cast<const CandSubShowerSR*>(rhs)->MinStripPE!=MinStripPE) 
00166     return false;
00167 
00168   return result;
00169 }

CandSubShowerSRHandle CandSubShowerSR::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Definition at line 172 of file CandSubShowerSR.cxx.

References CandSubShowerSR().

Referenced by AlgEventSSList::BuildEventFromUnassoc(), AlgEventSSList::CreatePrimaryShower(), AlgSubShowerSRList::FormHalo(), and AlgSubShowerSRList::RunAlg().

00174 {
00175   CandSubShowerSRHandle csh;
00176   new CandSubShowerSR(ah, csh, cx);        // csh owns the new CandSubShowerSR
00177   return csh;
00178 }


Friends And Related Function Documentation

friend class CandSubShowerSRHandle [friend]

Definition at line 24 of file CandSubShowerSR.h.

Referenced by CreateLocalHandle().


Member Data Documentation

Float_t CandSubShowerSR::AvgDev [protected]

Definition at line 43 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Definition at line 44 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Double_t CandSubShowerSR::Energy [protected]

Definition at line 40 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Double_t CandSubShowerSR::MinStripPE [protected]

Definition at line 46 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Definition at line 41 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Float_t CandSubShowerSR::ProbEM [protected]

Definition at line 45 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().

Float_t CandSubShowerSR::Slope [protected]

Definition at line 42 of file CandSubShowerSR.h.

Referenced by CandSubShowerSR(), and IsEquivalent().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1