CandShowerSRList Class Reference

#include <CandShowerSRList.h>

Inheritance diagram for CandShowerSRList:
CandShowerList CandRecoList CandBase CandRefCounted

List of all members.

Public Member Functions

 CandShowerSRList ()

Static Public Member Functions

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

Protected Member Functions

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

Friends

class CandShowerSRListHandle

Detailed Description

Definition at line 17 of file CandShowerSRList.h.


Constructor & Destructor Documentation

CandShowerSRList::CandShowerSRList (  ) 

Definition at line 19 of file CandShowerSRList.cxx.

References Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00020 {
00021   MSG("Cand", Msg::kDebug)
00022     << "Begin CandShowerSRList::CandShowerSRList() ctor: " << endl
00023     << "UidInt = " << GetUidInt()
00024     << ", ArchUidInt " << GetArchUidInt() << endl
00025     << "No. of links = " << GetNLinks() << endl
00026     << "End CandShowerSRList::CandShowerSRList() ctor." << endl;
00027 }

CandShowerSRList::CandShowerSRList ( AlgHandle ah  )  [protected]

Definition at line 30 of file CandShowerSRList.cxx.

00030                                                 :
00031   CandShowerList(ah)   // Should be the next class up on inheritance chain
00032 {
00033 
00034 // The sole purpose of this constructor is to transmit the AlgHandle
00035 // up the inheritance chain to CandBase without having to invoke the
00036 // full constructor of an intermediate Candidate type which the highest
00037 // level Candidate might inherit from.  One only wants to create the
00038 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00039 }

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

Definition at line 42 of file CandShowerSRList.cxx.

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

00043                                                     :
00044   CandShowerList(ah)   // Should be the next class up on inheritance chain
00045 {
00046   CreateLocalHandle();
00047   MSG("Cand", Msg::kDebug)
00048     << "Begin CandShowerSRList::CandShowerSRList(AlgHandle &, CandHandle &, "
00049     << "CandContext &) ctor: " << endl
00050     << "UidInt = " << GetUidInt()
00051     << ", ArchUidInt " << GetArchUidInt() << endl
00052     << "No. of links = " << GetNLinks() << endl
00053     << "End CandShowerSRList::CandShowerSRList(AlgHandle &, CandHandle &, "
00054     << "CandContext &) ctor." << endl;
00055   
00056   // Run Algorithm to construct Candidate
00057   {                                                   // Start of scope.
00058     CandShowerSRListHandle cdh(this);          // cdh will go out of scope
00059     ch = cdh;                                       // after setting ch.
00060   }                                                     // End of scope.
00061   ah.RunAlg(ch, cx);
00062 }

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

Definition at line 65 of file CandShowerSRList.cxx.

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

00065                                                               :
00066   CandShowerList(rhs)  // Should be the next class up on inheritance chain
00067 {
00068 
00069   //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00070   MSG("Cand", Msg::kDebug)
00071     << "Begin CandShowerSRList::CandShowerSRList"
00072     << "(const CandShowerSRList &rhs) ctor: " << endl
00073     << "UidInt = " << GetUidInt()
00074     << ", ArchUidInt " << GetArchUidInt() << endl
00075     << "No. of links = " << GetNLinks() << endl
00076     << "End CandShowerSRList::CandShowerSRList"
00077     << "(const CandShowerSRList &rhs) ctor." << endl;
00078 }

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

Definition at line 81 of file CandShowerSRList.cxx.

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

00082 {
00083   MSG("Cand", Msg::kDebug)
00084     << "Begin CandShowerSRList::~CandShowerSRList() dtor: " << endl
00085     << "UidInt = " << GetUidInt()
00086     << ", ArchUidInt " << GetArchUidInt() << endl
00087     << "No. of links = " << GetNLinks() << endl
00088     << "End CandShowerSRList::~CandShowerSRList() dtor." << endl;
00089 }


Member Function Documentation

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

Reimplemented from CandShowerList.

Definition at line 92 of file CandShowerSRList.cxx.

References CandShowerSRListHandle, and CandBase::SetLocalHandle().

Referenced by CandShowerSRList(), and Dup().

00093 {
00094   SetLocalHandle(new CandShowerSRListHandle(this));
00095 }

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

Reimplemented from CandShowerList.

Definition at line 98 of file CandShowerSRList.cxx.

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

00099 {
00100 
00101   // Base copy ctor dups owned pointers, but defers copying Daughter List.
00102   // Daughter List copy is made in the derived class Dup() function.
00103   // This is because base class copy constructor hasn't yet created
00104   // fLocalHandle with a CandHandle* of the full derived type.
00105   CandShowerSRList *cb = new CandShowerSRList(*this); // Copy-ctor dups ptrs
00106   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00107   TIter iterdau = GetDaughterIterator();
00108   CandHandle *dau;
00109   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00110   return cb;
00111 }

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

Reimplemented from CandShowerList.

Definition at line 114 of file CandShowerSRList.cxx.

References CandShowerList::IsEquivalent(), CandBase::TestDisplayCandBanner(), and CandBase::TestNothing().

00115 {
00116   Bool_t result = true;
00117   if (!CandShowerList::IsEquivalent(rhs)) result = false;    // superclass
00118   TestDisplayCandBanner("CandShowerSRList");
00119   const CandShowerSRList* rCnd = dynamic_cast<const CandShowerSRList*>(rhs);
00120   if (rCnd == NULL) return false;
00121 
00122   TestNothing("CandShowerSRList");
00123   
00124   return result;
00125 }

CandShowerSRListHandle CandShowerSRList::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented from CandShowerList.

Definition at line 128 of file CandShowerSRList.cxx.

References CandShowerSRList().

Referenced by ShowerSRListModule::Reco().

00130 {
00131   CandShowerSRListHandle cdh;
00132   new CandShowerSRList(ah, cdh, cx);    // cdh owns the new CandShowerSRList
00133   return cdh;
00134 }


Friends And Related Function Documentation

friend class CandShowerSRListHandle [friend]

Definition at line 19 of file CandShowerSRList.h.

Referenced by CreateLocalHandle().


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

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1