CandSliceList Class Reference

#include <CandSliceList.h>

Inheritance diagram for CandSliceList:
CandBase CandRefCounted FarDetSliceList

List of all members.

Public Member Functions

 CandSliceList ()

Static Public Member Functions

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

Protected Member Functions

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

Friends

class CandSliceListHandle

Detailed Description

Definition at line 23 of file CandSliceList.h.


Constructor & Destructor Documentation

CandSliceList::CandSliceList (  ) 

Definition at line 26 of file CandSliceList.cxx.

References Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

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

CandSliceList::CandSliceList ( AlgHandle ah  )  [protected]

Definition at line 37 of file CandSliceList.cxx.

00037                                           :
00038   CandBase(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 }

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

Definition at line 49 of file CandSliceList.cxx.

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

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

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

Definition at line 72 of file CandSliceList.cxx.

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

00072                                                      :
00073   CandBase(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) << "Begin CandSliceList::CandSliceList"
00078                           << "(const CandSliceList &rhs) ctor: " << endl
00079                                            << "UidInt = " << GetUidInt()
00080                            << ", ArchUidInt " << GetArchUidInt() << endl
00081                              << "No. of links = " << GetNLinks() << endl
00082                                    << "End CandSliceList::CandSliceList"
00083                           << "(const CandSliceList &rhs) ctor." << endl;
00084 }

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

Definition at line 87 of file CandSliceList.cxx.

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

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


Member Function Documentation

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

Implements CandBase.

Reimplemented in FarDetSliceList.

Definition at line 98 of file CandSliceList.cxx.

References CandSliceListHandle, and CandBase::SetLocalHandle().

Referenced by CandSliceList(), and Dup().

00099 {
00100   SetLocalHandle(new CandSliceListHandle(this));
00101 }

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

Implements CandBase.

Reimplemented in FarDetSliceList.

Definition at line 104 of file CandSliceList.cxx.

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

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

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

Reimplemented from CandBase.

Definition at line 120 of file CandSliceList.cxx.

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

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

CandSliceListHandle CandSliceList::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented in FarDetSliceList.

Definition at line 134 of file CandSliceList.cxx.

References CandSliceList().

Referenced by SliceFromChopModule::Reco(), and SliceSRListModule::Reco().

00136 {
00137   CandSliceListHandle cdh;
00138   new CandSliceList(ah, cdh, cx);      // cdh owns the new CandSliceList
00139   return cdh;
00140 }


Friends And Related Function Documentation

friend class CandSliceListHandle [friend]

Definition at line 25 of file CandSliceList.h.

Referenced by CreateLocalHandle().


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

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1