00001 00002 // Package: CandTrackCam 00003 // 00004 // CandTrackCam 00005 // 00006 // marshall@hep.phy.cam.ac.uk 00008 #include "CandTrackCam/CandTrackCam.h" 00009 #include "CandTrackCam/CandTrackCamHandle.h" 00010 #include "Algorithm/AlgHandle.h" 00011 #include "MessageService/MsgService.h" 00012 00013 CVSID("$Id: CandTrackCam.cxx,v 1.1 2006/04/10 17:01:41 marshall Exp $"); 00014 00015 00017 CandTrackCam::CandTrackCam () 00018 { 00019 } 00021 00022 00024 CandTrackCam::CandTrackCam(AlgHandle& ah) 00025 : CandTrack(ah) 00026 { 00027 } 00029 00030 00032 CandTrackCam::CandTrackCam(AlgHandle& ah, CandHandle& ch, CandContext& cx) 00033 : CandTrack(ah) 00034 { 00035 this->CreateLocalHandle(); 00036 { 00037 CandTrackCamHandle a_handle(this); 00038 ch = a_handle; 00039 } 00040 ah.RunAlg(ch,cx); 00041 } 00043 00044 00046 CandTrackCam::CandTrackCam(const CandTrackCam& rhs) 00047 : CandTrack(rhs) 00048 { 00049 } 00051 00052 00054 CandTrackCam::~CandTrackCam() 00055 { 00056 } 00058 00059 00061 void CandTrackCam::CreateLocalHandle() 00062 { 00063 this->SetLocalHandle(new CandTrackCamHandle(this)); 00064 } 00066 00067 00069 CandTrackCam* CandTrackCam::Dup() const 00070 { 00071 CandTrackCam* newone = new CandTrackCam(*this); 00072 newone->CreateLocalHandle(); 00073 TIter iter = this->GetDaughterIterator(); 00074 CandHandle* ch; 00075 while ((ch=(CandHandle*)iter())) newone->AddDaughterLink(*ch); 00076 return newone; 00077 } 00079 00080 00082 CandTrackCamHandle CandTrackCam::MakeCandidate(AlgHandle& ah, CandContext& cx) 00083 { 00084 CandTrackCamHandle a_handle; 00085 new CandTrackCam(ah,a_handle,cx); 00086 return a_handle; 00087 } 00089 00090 00091 ClassImp(CandTrackCam) 00092
1.3.9.1