00001
00002
00003
00004
00005
00007
00008 #include "Algorithm/AlgHandle.h"
00009 #include "MessageService/MsgService.h"
00010 #include "CandShowerSR/CandShowerSRList.h"
00011 #include "CandShowerSR/CandShowerSRListHandle.h"
00012
00013 ClassImp(CandShowerSRList)
00014
00015
00016 CVSID("$Id: CandShowerSRList.cxx,v 1.7 2005/02/25 15:42:18 musser Exp $");
00017
00018
00019 CandShowerSRList::CandShowerSRList()
00020 {
00021 MSG("Cand", Msg::kDebug)
00022 << "Begin CandShowerSRList::CandShowerSRList() ctor: " << endl
00023 << "UidInt = " << GetUidInt()
00024 << ", ArchUidInt " << GetArchUidInt() << endl
00025 << "No. of links = " << GetNLinks() << endl
00026 << "End CandShowerSRList::CandShowerSRList() ctor." << endl;
00027 }
00028
00029
00030 CandShowerSRList::CandShowerSRList(AlgHandle &ah) :
00031 CandShowerList(ah)
00032 {
00033
00034
00035
00036
00037
00038
00039 }
00040
00041
00042 CandShowerSRList::CandShowerSRList(AlgHandle &ah, CandHandle &ch,
00043 CandContext &cx) :
00044 CandShowerList(ah)
00045 {
00046 CreateLocalHandle();
00047 MSG("Cand", Msg::kDebug)
00048 << "Begin CandShowerSRList::CandShowerSRList(AlgHandle &, CandHandle &, "
00049 << "CandContext &) ctor: " << endl
00050 << "UidInt = " << GetUidInt()
00051 << ", ArchUidInt " << GetArchUidInt() << endl
00052 << "No. of links = " << GetNLinks() << endl
00053 << "End CandShowerSRList::CandShowerSRList(AlgHandle &, CandHandle &, "
00054 << "CandContext &) ctor." << endl;
00055
00056
00057 {
00058 CandShowerSRListHandle cdh(this);
00059 ch = cdh;
00060 }
00061 ah.RunAlg(ch, cx);
00062 }
00063
00064
00065 CandShowerSRList::CandShowerSRList(const CandShowerSRList &rhs) :
00066 CandShowerList(rhs)
00067 {
00068
00069
00070 MSG("Cand", Msg::kDebug)
00071 << "Begin CandShowerSRList::CandShowerSRList"
00072 << "(const CandShowerSRList &rhs) ctor: " << endl
00073 << "UidInt = " << GetUidInt()
00074 << ", ArchUidInt " << GetArchUidInt() << endl
00075 << "No. of links = " << GetNLinks() << endl
00076 << "End CandShowerSRList::CandShowerSRList"
00077 << "(const CandShowerSRList &rhs) ctor." << endl;
00078 }
00079
00080
00081 CandShowerSRList::~CandShowerSRList()
00082 {
00083 MSG("Cand", Msg::kDebug)
00084 << "Begin CandShowerSRList::~CandShowerSRList() dtor: " << endl
00085 << "UidInt = " << GetUidInt()
00086 << ", ArchUidInt " << GetArchUidInt() << endl
00087 << "No. of links = " << GetNLinks() << endl
00088 << "End CandShowerSRList::~CandShowerSRList() dtor." << endl;
00089 }
00090
00091
00092 void CandShowerSRList::CreateLocalHandle()
00093 {
00094 SetLocalHandle(new CandShowerSRListHandle(this));
00095 }
00096
00097
00098 CandShowerSRList *CandShowerSRList::Dup() const
00099 {
00100
00101
00102
00103
00104
00105 CandShowerSRList *cb = new CandShowerSRList(*this);
00106 cb->CreateLocalHandle();
00107 TIter iterdau = GetDaughterIterator();
00108 CandHandle *dau;
00109 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00110 return cb;
00111 }
00112
00113
00114 Bool_t CandShowerSRList::IsEquivalent(const TObject *rhs) const
00115 {
00116 Bool_t result = true;
00117 if (!CandShowerList::IsEquivalent(rhs)) result = false;
00118 TestDisplayCandBanner("CandShowerSRList");
00119 const CandShowerSRList* rCnd = dynamic_cast<const CandShowerSRList*>(rhs);
00120 if (rCnd == NULL) return false;
00121
00122 TestNothing("CandShowerSRList");
00123
00124 return result;
00125 }
00126
00127
00128 CandShowerSRListHandle CandShowerSRList::MakeCandidate(AlgHandle &ah,
00129 CandContext &cx)
00130 {
00131 CandShowerSRListHandle cdh;
00132 new CandShowerSRList(ah, cdh, cx);
00133 return cdh;
00134 }