00001 00002 #include "MessageService/MsgService.h" 00003 #include "JobControl/JobCModuleRegistry.h" 00004 00005 #include "Navigation/NavKey.h" 00006 #include "Navigation/NavSet.h" 00007 00008 #include "Candidate/CandContext.h" 00009 #include "MinosObjectMap/MomNavigator.h" 00010 #include "RecoBase/CandRecoHandle.h" 00011 #include "CandAtNuRecoHandle.h" 00012 00013 #include "CandTrackAtNuHandle.h" 00014 #include "CandShowerAtNuHandle.h" 00015 00016 // 00017 // $Log $ 00018 // 00019 00020 ClassImp(CandAtNuRecoHandle) 00021 00022 CVSID("$Id: CandAtNuRecoHandle.cxx,v 1.6 2005/02/04 21:07:53 blake Exp $"); 00023 00024 CandAtNuRecoHandle::CandAtNuRecoHandle() 00025 { 00026 MSG("CandAtNuRecoHandle", Msg::kDebug) << " " << endl; 00027 } 00028 00029 CandAtNuRecoHandle::CandAtNuRecoHandle(const CandAtNuRecoHandle &cdh) : 00030 CandRecoHandle(cdh) 00031 { 00032 00033 } 00034 00035 CandAtNuRecoHandle::CandAtNuRecoHandle(CandAtNuReco *cd) : 00036 CandRecoHandle(cd) 00037 { 00038 00039 } 00040 00041 CandAtNuRecoHandle::~CandAtNuRecoHandle() 00042 { 00043 00044 } 00045 00046 CandAtNuRecoHandle *CandAtNuRecoHandle::DupHandle() const 00047 { 00048 return (new CandAtNuRecoHandle(*this)); 00049 } 00050 00051 void CandAtNuRecoHandle::Trace(const char *c) const 00052 { 00053 CandHandle::Trace(c); 00054 } 00055 00056 void CandAtNuRecoHandle::AddShower(CandShowerAtNuHandle* shower) 00057 { 00058 TObjArray *fShowerList = &(dynamic_cast<CandAtNuReco*>(GetOwnedCandBase())->fShowerList); 00059 Bool_t found = 0; 00060 for (Int_t i=0; i<=fShowerList->GetLast() && !found; i++) { 00061 CandShowerAtNuHandle *target = dynamic_cast<CandShowerAtNuHandle*>(fShowerList->At(i)); 00062 if (*shower == *target) { 00063 found = 1; 00064 } 00065 } 00066 if (found) { 00067 return; 00068 } 00069 fShowerList->Add(shower); 00070 } 00071 00072 void CandAtNuRecoHandle::AddTrack(CandTrackAtNuHandle* track) 00073 { 00074 TObjArray *fTrackList = &(dynamic_cast<CandAtNuReco*>(GetOwnedCandBase())->fTrackList); 00075 Bool_t found = 0; 00076 for (Int_t i=0; i<=fTrackList->GetLast() && !found; i++) { 00077 CandTrackAtNuHandle *target = dynamic_cast<CandTrackAtNuHandle*>(fTrackList->At(i)); 00078 if (*track == *target) { 00079 found = 1; 00080 } 00081 } 00082 if (found) { 00083 return; 00084 } 00085 fTrackList->Add(track); 00086 } 00087 00088 CandShowerAtNuHandle* CandAtNuRecoHandle::GetShower(Int_t i) 00089 { 00090 const TObjArray* fShowerList = &(dynamic_cast<const CandAtNuReco*>(GetCandBase())->fShowerList); 00091 if (i>fShowerList->GetLast()) { 00092 return 0; 00093 } 00094 return dynamic_cast<CandShowerAtNuHandle*>(fShowerList->At(i)); 00095 } 00096 00097 CandTrackAtNuHandle* CandAtNuRecoHandle::GetTrack(Int_t i) 00098 { 00099 const TObjArray* fTrackList = &(dynamic_cast<const CandAtNuReco*>(GetCandBase())->fTrackList); 00100 if (i>fTrackList->GetLast()) { 00101 return 0; 00102 } 00103 return dynamic_cast<CandTrackAtNuHandle*>(fTrackList->At(i)); 00104 } 00105 00106 Int_t CandAtNuRecoHandle::GetLastShower() const 00107 { 00108 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fShowerList.GetLast(); 00109 } 00110 00111 Int_t CandAtNuRecoHandle::GetLastTrack() const 00112 { 00113 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fTrackList.GetLast(); 00114 } 00115 00116 Int_t CandAtNuRecoHandle::GetNtracks() const 00117 { 00118 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fTrackList.GetLast()+1; 00119 } 00120 00121 Int_t CandAtNuRecoHandle::GetNshowers() const 00122 { 00123 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fShowerList.GetLast()+1; 00124 } 00125 00126 void CandAtNuRecoHandle::SetAtNuRecoScore(Double_t scr) 00127 { 00128 dynamic_cast<CandAtNuReco*>(GetOwnedCandBase())->fAtNuRecoScore=scr; 00129 } 00130 00131 Double_t CandAtNuRecoHandle::GetAtNuRecoScore() const 00132 { 00133 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fAtNuRecoScore; 00134 } 00135 00136 void CandAtNuRecoHandle::SetCPUTime(Double_t time) 00137 { 00138 dynamic_cast<CandAtNuReco*>(GetOwnedCandBase())->fCPUTime=time; 00139 } 00140 00141 Double_t CandAtNuRecoHandle::GetCPUTime() const 00142 { 00143 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fCPUTime; 00144 } 00145 00146 void CandAtNuRecoHandle::SetNBlocks(Int_t nblocks) 00147 { 00148 dynamic_cast<CandAtNuReco*>(GetOwnedCandBase())->fNBlocks=nblocks; 00149 } 00150 00151 Int_t CandAtNuRecoHandle::GetNBlocks() const 00152 { 00153 return dynamic_cast<const CandAtNuReco*>(GetCandBase())->fNBlocks; 00154 } 00155 00156 XXXITRIMP(CandAtNuRecoHandle)
1.3.9.1