00001
00002
00003
00004
00005
00006
00008 #include "CandTrackCam/CandTrackCamList.h"
00009 #include "CandTrackCam/CandTrackCamListHandle.h"
00010 #include "Algorithm/AlgHandle.h"
00011 #include "MessageService/MsgService.h"
00012
00013 CVSID("$Id: CandTrackCamList.cxx,v 1.1 2006/04/10 17:02:17 marshall Exp $");
00014
00015
00017 CandTrackCamList::CandTrackCamList () :
00018 fCPUTime(0)
00019 {
00020 }
00022
00023
00025 CandTrackCamList::CandTrackCamList(AlgHandle& ah)
00026 : CandTrackList(ah), fCPUTime(0)
00027 {
00028 }
00030
00031
00033 CandTrackCamList::CandTrackCamList(AlgHandle& ah, CandHandle& ch, CandContext& cx)
00034 : CandTrackList(ah), fCPUTime(0)
00035 {
00036 this->CreateLocalHandle();
00037 {
00038 CandTrackCamListHandle a_handle(this);
00039 ch = a_handle;
00040 }
00041 ah.RunAlg(ch,cx);
00042 }
00044
00045
00047 CandTrackCamList::CandTrackCamList(const CandTrackCamList& rhs)
00048 : CandTrackList(rhs), fCPUTime(0)
00049 {
00050 }
00052
00053
00055 CandTrackCamList::~CandTrackCamList()
00056 {
00057 }
00059
00060
00062 void CandTrackCamList::CreateLocalHandle()
00063 {
00064 this->SetLocalHandle(new CandTrackCamListHandle(this));
00065 }
00067
00068
00070 CandTrackCamList* CandTrackCamList::Dup() const
00071 {
00072 CandTrackCamList* newone = new CandTrackCamList(*this);
00073 newone->CreateLocalHandle();
00074 TIter iter = this->GetDaughterIterator();
00075 CandHandle* ch;
00076 while ((ch=(CandHandle*)iter())) newone->AddDaughterLink(*ch);
00077 return newone;
00078 }
00080
00081
00083 CandTrackCamListHandle CandTrackCamList::MakeCandidate(AlgHandle& ah, CandContext& cx)
00084 {
00085 CandTrackCamListHandle a_handle;
00086 new CandTrackCamList(ah,a_handle,cx);
00087 return a_handle;
00088 }
00090
00091
00092 ClassImp(CandTrackCamList)
00093