CandCluster3DList Class Reference

#include <CandCluster3DList.h>

Inheritance diagram for CandCluster3DList:

CandRecoList CandBase CandRefCounted List of all members.

Public Member Functions

 CandCluster3DList ()

Static Public Member Functions

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

Protected Member Functions

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

Friends

class CandCluster3DListHandle

Detailed Description

Definition at line 21 of file CandCluster3DList.h.


Constructor & Destructor Documentation

CandCluster3DList::CandCluster3DList (  ) 

Definition at line 22 of file CandCluster3DList.cxx.

References Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00023 {
00024   MSG("Cluster3D", Msg::kDebug)
00025     << "Standard constructor " << endl;
00026 }

CandCluster3DList::CandCluster3DList ( AlgHandle ah  )  [protected]

Definition at line 29 of file CandCluster3DList.cxx.

00029                                                   :
00030   //CandClusterList(ah)// Should be the next class up on inheritance chain
00031   CandRecoList(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 }

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

Definition at line 42 of file CandCluster3DList.cxx.

References CreateLocalHandle(), and AlgHandle::RunAlg().

00043                                                                        :
00044   //CandClusterList(ah)// Should be the next class up on inheritance chain
00045   CandRecoList(ah)// Should be the next class up on inheritance chain
00046 {
00047   CreateLocalHandle();
00048 // Run Algorithm to construct Candidate
00049    {                                                   // Start of scope
00050      CandCluster3DListHandle cshl(this);    // cshl will go out of scope
00051      ch = cshl;                                     // after setting ch.
00052    }                                                     // End of scope
00053    ah.RunAlg(ch, cx);
00054 }

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

Definition at line 57 of file CandCluster3DList.cxx.

00057                                                                  :
00058   //CandClusterList(rhs)//Should be the next class up on inheritance chain
00059   CandRecoList(rhs)//Should be the next class up on inheritance chain
00060 {
00061 
00062 //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00063 
00064 }

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

Definition at line 67 of file CandCluster3DList.cxx.

References Msg::kDebug, and MSG.

00068 {
00069   MSG("Cluster3D", Msg::kDebug)
00070     << "Destructor " << endl;
00071 }


Member Function Documentation

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

Reimplemented from CandRecoList.

Definition at line 74 of file CandCluster3DList.cxx.

References CandCluster3DListHandle, and CandBase::SetLocalHandle().

Referenced by CandCluster3DList(), and Dup().

00075 {
00076   SetLocalHandle(new CandCluster3DListHandle(this));
00077 }

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

Reimplemented from CandRecoList.

Definition at line 80 of file CandCluster3DList.cxx.

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

00081 {
00082 
00083 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00084 // Daughter List copy is made in the derived class Dup() function.
00085 // This is because base class copy constructor hasn't yet created
00086 // fLocalHandle with a CandHandle* of the full derived type.
00087   CandCluster3DList *cb = new CandCluster3DList(*this);     // Copy-ctor
00088   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00089   TIter iterdau = GetDaughterIterator();
00090   CandHandle *dau;
00091   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00092   return cb;
00093 }

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

Reimplemented from CandRecoList.

Definition at line 96 of file CandCluster3DList.cxx.

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

00097 {
00098   Bool_t result = true;
00099   //if (!CandClusterList::IsEquivalent(rhs)) result = false; // superclass
00100   if (!CandRecoList::IsEquivalent(rhs)) result = false; // superclass
00101   TestDisplayCandBanner("CandCluster3DList");
00102   const CandCluster3DList* rCnd =
00103                             dynamic_cast<const CandCluster3DList*>(rhs);
00104   if (rCnd == NULL) return false;
00105 
00106   TestNothing("CandCluster3DList");
00107   return result;
00108 }

CandCluster3DListHandle CandCluster3DList::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Definition at line 111 of file CandCluster3DList.cxx.

References CandCluster3DList().

Referenced by Cluster3DModule::Reco().

00113 {
00114   // Create a handle
00115   CandCluster3DListHandle cshl;
00116 
00117   // Create Candidate passing in handle, algorithm and context
00118   new CandCluster3DList(ah, cshl, cx); //cshl owns new CandCluster3DList
00119 
00120   return cshl;
00121 }


Friends And Related Function Documentation

friend class CandCluster3DListHandle [friend]

Definition at line 23 of file CandCluster3DList.h.

Referenced by CreateLocalHandle().


The documentation for this class was generated from the following files:
Generated on Wed Dec 10 22:49:17 2014 for loon by  doxygen 1.4.7