00001 00002 #include "FarDetSliceList.h" 00003 #include "FarDetSliceListHandle.h" 00004 00005 #include "Algorithm/AlgHandle.h" 00006 00007 ClassImp(FarDetSliceList) 00008 00009 FarDetSliceListHandle FarDetSliceList::MakeCandidate(AlgHandle &ah,CandContext &cx) 00010 { 00011 FarDetSliceListHandle cth; 00012 new FarDetSliceList(ah, cth, cx); 00013 return cth; 00014 } 00015 00016 FarDetSliceList::FarDetSliceList() 00017 { 00018 00019 } 00020 00021 FarDetSliceList::FarDetSliceList(AlgHandle &ah) : 00022 CandSliceList(ah) 00023 { 00024 00025 } 00026 00027 FarDetSliceList::FarDetSliceList(AlgHandle &ah, CandHandle &ch, CandContext &cx) : 00028 CandSliceList(ah) 00029 { 00030 SetLocalHandle(new FarDetSliceListHandle(this)); 00031 { FarDetSliceListHandle cth(this); ch = cth; } 00032 ah.RunAlg(ch, cx); 00033 } 00034 00035 FarDetSliceList::FarDetSliceList(const FarDetSliceList &rhs) : 00036 CandSliceList(rhs) 00037 { 00038 00039 } 00040 00041 FarDetSliceList::~FarDetSliceList() 00042 { 00043 00044 } 00045 00046 FarDetSliceList* FarDetSliceList::Dup() const 00047 { 00048 FarDetSliceList *cb = new FarDetSliceList(*this); 00049 cb->CreateLocalHandle(); 00050 TIter iterdau = GetDaughterIterator(); 00051 CandHandle *dau; 00052 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau); 00053 return cb; 00054 } 00055 00056 void FarDetSliceList::CreateLocalHandle() 00057 { 00058 this->SetLocalHandle(new FarDetSliceListHandle(this)); 00059 }