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