00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00017
00018 #include "Algorithm/AlgHandle.h"
00019 #include "MessageService/MsgService.h"
00020
00021 #include "CandFitTrackSA/CandFitTrackSA.h"
00022 #include "CandFitTrackSA/CandFitTrackSAHandle.h"
00023 #include "CandFitTrackSA/TracerSA.h"
00024
00025 CVSID("$Id: CandFitTrackSA.cxx,v 1.9 2006/02/04 07:14:12 avva Exp $");
00026
00027 ClassImp(CandFitTrackSA)
00028
00029 CandFitTrackSA::CandFitTrackSA () :
00030 fFits("NtpFitSA", 50)
00031 {
00032 }
00033
00034 CandFitTrackSA::CandFitTrackSA(AlgHandle& ah) :
00035 CandFitTrack(ah) ,
00036 fFits("NtpFitSA", 50)
00037 {
00038 }
00039
00040 CandFitTrackSA::CandFitTrackSA(AlgHandle& ah, CandHandle& ch, CandContext& cx) :
00041 CandFitTrack(ah) ,
00042 fFits("NtpFitSA", 50)
00043 {
00044 TracerSA trace(
00045 "CandFitTrackSA::CandFitTrackSA(AlgHandle& ,CandHandle& , CandContext&)"
00046 );
00047 this->CreateLocalHandle();
00048 {
00049 CandFitTrackSAHandle a_handle(this);
00050 ch = a_handle;
00051 }
00052 ah.RunAlg(ch,cx);
00053 }
00054
00055 CandFitTrackSA::CandFitTrackSA(const CandFitTrackSA& rhs) :
00056 CandFitTrack(rhs) ,
00057 fFits("NtpFitSA", 50)
00058 {
00059 NtpFitSA* ntpfitsa;
00060 for (Int_t i = 0; i < rhs.fFits.GetEntriesFast(); i++) {
00061 ntpfitsa = new((fFits)[i]) NtpFitSA(*(NtpFitSA*) rhs.fFits[i]);
00062 }
00063 }
00064
00065 CandFitTrackSA::~CandFitTrackSA()
00066 {
00067 fFits.Delete();
00068 }
00069
00070 void CandFitTrackSA::CreateLocalHandle()
00071 {
00072 this->SetLocalHandle(new CandFitTrackSAHandle(this));
00073 }
00074
00075 CandFitTrackSA* CandFitTrackSA::Dup() const
00076 {
00077 CandFitTrackSA* newone = new CandFitTrackSA(*this);
00078 newone->CreateLocalHandle();
00079 TIter iter = this->GetDaughterIterator();
00080 CandHandle* ch;
00081 while ((ch=(CandHandle*)iter())) newone->AddDaughterLink(*ch);
00082 return newone;
00083 }
00084
00085 CandFitTrackSAHandle CandFitTrackSA::MakeCandidate(AlgHandle& ah, CandContext& cx)
00086 {
00087 CandFitTrackSAHandle a_handle;
00088 new CandFitTrackSA(ah,a_handle,cx);
00089 return a_handle;
00090 }
00091