CandShowerList Class Reference

#include <CandShowerList.h>

Inheritance diagram for CandShowerList:
CandRecoList CandBase CandRefCounted CandShowerAtNuList CandShowerEMList CandShowerSRList CandFitShowerEMList

List of all members.

Public Member Functions

 CandShowerList ()

Static Public Member Functions

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

Protected Member Functions

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

Friends

class CandShowerListHandle

Detailed Description

Definition at line 23 of file CandShowerList.h.


Constructor & Destructor Documentation

CandShowerList::CandShowerList (  ) 

Definition at line 26 of file CandShowerList.cxx.

References Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00027 {
00028   MSG("Cand", Msg::kDebug)
00029               << "Begin CandShowerList::CandShowerList() ctor: " << endl
00030                                            << "UidInt = " << GetUidInt()
00031                            << ", ArchUidInt " << GetArchUidInt() << endl
00032                              << "No. of links = " << GetNLinks() << endl
00033                 << "End CandShowerList::CandShowerList() ctor." << endl;
00034 }

CandShowerList::CandShowerList ( AlgHandle ah  )  [protected]

Definition at line 37 of file CandShowerList.cxx.

00037                                             :
00038   CandRecoList(ah)   // Should be the next class up on inheritance chain
00039 {
00040 
00041 // The sole purpose of this constructor is to transmit the AlgHandle
00042 // up the inheritance chain to CandBase without having to invoke the
00043 // full constructor of an intermediate Candidate type which the highest
00044 // level Candidate might inherit from.  One only wants to create the
00045 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00046 }

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

Definition at line 49 of file CandShowerList.cxx.

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

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

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

Definition at line 72 of file CandShowerList.cxx.

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

00072                                                         :
00073   CandRecoList(rhs)  // Should be the next class up on inheritance chain
00074 {
00075 
00076 //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00077   MSG("Cand", Msg::kDebug)
00078                                << "Begin CandShowerList::CandShowerList"
00079                          << "(const CandShowerList &rhs) ctor: " << endl
00080                                            << "UidInt = " << GetUidInt()
00081                            << ", ArchUidInt " << GetArchUidInt() << endl
00082                              << "No. of links = " << GetNLinks() << endl
00083                                  << "End CandShowerList::CandShowerList"
00084                          << "(const CandShowerList &rhs) ctor." << endl;
00085 }

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

Definition at line 88 of file CandShowerList.cxx.

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

00089 {
00090   MSG("Cand", Msg::kDebug)
00091              << "Begin CandShowerList::~CandShowerList() dtor: " << endl
00092                                            << "UidInt = " << GetUidInt()
00093                            << ", ArchUidInt " << GetArchUidInt() << endl
00094                              << "No. of links = " << GetNLinks() << endl
00095                << "End CandShowerList::~CandShowerList() dtor." << endl;
00096 }


Member Function Documentation

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

Reimplemented from CandRecoList.

Reimplemented in CandFitShowerEMList, CandShowerEMList, and CandShowerSRList.

Definition at line 99 of file CandShowerList.cxx.

References CandShowerListHandle, and CandBase::SetLocalHandle().

Referenced by CandShowerList(), Dup(), and CandShowerAtNuList::Dup().

00100 {
00101   SetLocalHandle(new CandShowerListHandle(this));
00102 }

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

Reimplemented from CandRecoList.

Reimplemented in CandShowerAtNuList, CandFitShowerEMList, CandShowerEMList, and CandShowerSRList.

Definition at line 105 of file CandShowerList.cxx.

References CandBase::AddDaughterLink(), CandShowerList(), CreateLocalHandle(), CandBase::fCandRecord, CandBase::GetDaughterIterator(), and CandBase::SetCandRecord().

00106 {
00107 
00108 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00109 // Daughter List copy is made in the derived class Dup() function.
00110 // This is because base class copy constructor hasn't yet created
00111 // fLocalHandle with a CandHandle* of the full derived type.
00112   CandShowerList *cb = new CandShowerList(*this); // Copy-ctor dups ptrs
00113   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00114   cb->SetCandRecord(fCandRecord);
00115   TIter iterdau = GetDaughterIterator();
00116   CandHandle *dau;
00117   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00118   return cb;
00119 }

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

Reimplemented from CandRecoList.

Reimplemented in CandFitShowerEMList, CandShowerEMList, and CandShowerSRList.

Definition at line 122 of file CandShowerList.cxx.

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

Referenced by CandShowerSRList::IsEquivalent(), and CandShowerEMList::IsEquivalent().

00123 {
00124   Bool_t result = true;
00125   if (!CandRecoList::IsEquivalent(rhs)) result = false;    // superclass
00126   TestDisplayCandBanner("CandShowerList");
00127   const CandShowerList* rCnd = dynamic_cast<const CandShowerList*>(rhs);
00128   if (rCnd == NULL) return false;
00129 
00130   TestNothing("CandShowerList");
00131 
00132   return result;
00133 }

CandShowerListHandle CandShowerList::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented in CandShowerAtNuList, CandFitShowerEMList, CandShowerEMList, and CandShowerSRList.

Definition at line 136 of file CandShowerList.cxx.

References CandShowerList().

Referenced by ShowerSRListModule::Reco().

00138 {
00139   CandShowerListHandle cdh;
00140   new CandShowerList(ah, cdh, cx);    // cdh owns the new CandShowerList
00141   return cdh;
00142 }


Friends And Related Function Documentation

friend class CandShowerListHandle [friend]

Definition at line 25 of file CandShowerList.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