CandTrackList Class Reference

#include <CandTrackList.h>

Inheritance diagram for CandTrackList:
CandRecoList CandBase CandRefCounted CandFitTrackList CandTrackAtNuList CandTrackCamList CandTrackSRList CandFitTrackAtNuList CandFitTrackCamList CandFitTrackMSList CandFitTrackSRList

List of all members.

Public Member Functions

 CandTrackList ()

Static Public Member Functions

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

Protected Member Functions

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

Friends

class CandTrackListHandle

Detailed Description

Definition at line 23 of file CandTrackList.h.


Constructor & Destructor Documentation

CandTrackList::CandTrackList (  ) 

Definition at line 28 of file CandTrackList.cxx.

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

Referenced by Dup(), and MakeCandidate().

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

CandTrackList::CandTrackList ( AlgHandle ah  )  [protected]

Definition at line 39 of file CandTrackList.cxx.

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

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

Definition at line 51 of file CandTrackList.cxx.

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

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

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

Definition at line 75 of file CandTrackList.cxx.

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

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

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

Definition at line 91 of file CandTrackList.cxx.

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

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


Member Function Documentation

void CandTrackList::CreateLocalHandle (  )  [protected, virtual]
CandTrackList * CandTrackList::Dup (  )  const [protected, virtual]

Reimplemented from CandRecoList.

Reimplemented in CandFitTrackAtNuList, CandTrackAtNuList, CandFitTrackCamList, CandFitTrackMSList, CandFitTrackSRList, CandTrackCamList, CandTrackSRList, and CandFitTrackList.

Definition at line 108 of file CandTrackList.cxx.

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

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

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

Reimplemented from CandRecoList.

Reimplemented in CandFitTrackSRList, CandTrackSRList, and CandFitTrackList.

Definition at line 125 of file CandTrackList.cxx.

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

Referenced by CandTrackSRList::IsEquivalent(), and CandFitTrackList::IsEquivalent().

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

CandTrackListHandle CandTrackList::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented in CandFitTrackAtNuList, CandTrackAtNuList, CandFitTrackCamList, CandFitTrackMSList, CandFitTrackSRList, CandTrackCamList, CandTrackSRList, and CandFitTrackList.

Definition at line 139 of file CandTrackList.cxx.

References CandTrackList().

00141 {
00142   CandTrackListHandle cdh;
00143   new CandTrackList(ah, cdh, cx);      // cdh owns the new CandTrackList
00144   return cdh;
00145 }


Friends And Related Function Documentation

friend class CandTrackListHandle [friend]

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