Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

CandSliceSRList Class Reference

#include <CandSliceSRList.h>

Inheritance diagram for CandSliceSRList:

CandSliceList CandBase CandRefCounted List of all members.

Public Member Functions

 CandSliceSRList ()

Static Public Member Functions

CandSliceSRListHandle MakeCandidate (AlgHandle &ah, CandContext &cx)

Protected Member Functions

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

Friends

class CandSliceSRListHandle

Constructor & Destructor Documentation

CandSliceSRList::CandSliceSRList  ) 
 

Definition at line 26 of file CandSliceSRList.cxx.

References MSG.

Referenced by Dup(), and MakeCandidate().

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

CandSliceSRList::CandSliceSRList AlgHandle ah  )  [protected]
 

Definition at line 37 of file CandSliceSRList.cxx.

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

CandSliceSRList::CandSliceSRList AlgHandle ah,
CandHandle ch,
CandContext cx
[protected]
 

Definition at line 49 of file CandSliceSRList.cxx.

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

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

CandSliceSRList::CandSliceSRList const CandSliceSRList rhs  )  [protected]
 

Definition at line 72 of file CandSliceSRList.cxx.

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

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

CandSliceSRList::~CandSliceSRList  )  [protected, virtual]
 

Definition at line 88 of file CandSliceSRList.cxx.

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

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


Member Function Documentation

void CandSliceSRList::CreateLocalHandle  )  [protected, virtual]
 

Reimplemented from CandSliceList.

Definition at line 99 of file CandSliceSRList.cxx.

References CandSliceSRListHandle, and CandBase::SetLocalHandle().

Referenced by CandSliceSRList(), and Dup().

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

CandSliceSRList * CandSliceSRList::Dup  )  const [protected, virtual]
 

Reimplemented from CandSliceList.

Definition at line 105 of file CandSliceSRList.cxx.

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

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   CandSliceSRList *cb = new CandSliceSRList(*this);         // Copy-ctor
00113   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00114   TIter iterdau = GetDaughterIterator();
00115   CandHandle *dau;
00116   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00117   return cb;
00118 }

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

Reimplemented from CandSliceList.

Definition at line 121 of file CandSliceSRList.cxx.

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

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

CandSliceSRListHandle CandSliceSRList::MakeCandidate AlgHandle ah,
CandContext cx
[static]
 

Reimplemented from CandSliceList.

Definition at line 136 of file CandSliceSRList.cxx.

References CandSliceSRList().

00138 {
00139   CandSliceSRListHandle cshl;
00140   new CandSliceSRList(ah, cshl, cx); //cshl owns the new CandSliceSRList
00141   return cshl;
00142 }


Friends And Related Function Documentation

friend class CandSliceSRListHandle [friend]
 

Definition at line 21 of file CandSliceSRList.h.

Referenced by CreateLocalHandle().


The documentation for this class was generated from the following files:
Generated on Thu Nov 1 15:56:03 2007 for loon by  doxygen 1.3.9.1