00001 00002 // $Id: CandFitTrackHandle.cxx,v 1.18 2009/07/21 22:12:38 gmieg Exp $ 00003 // 00004 // CandFitTrackHandle.cxx 00005 // 00006 // Begin_Html<img src="../../pedestrians.gif" align=center> 00007 // <a href="../source_warning.html">Warning for beginners</a>.<br> 00008 // 00009 // CandFitTrackHandle is the specialized access handle to CandFitTrack. 00010 // 00011 // Each concrete CandHandle must define a DupHandle function. 00012 // 00013 // Author: R. Lee 00014 // 00015 // Also see <a href="../../root_crib/index.html">The ROOT Crib</a> and 00016 // <a href="../CandFitTrack.html"> CandFitTrack Classes</a> (part of 00017 // <a href="../index.html">The MINOS Class User Guide</a>)End_Html 00019 00020 #include <cassert> 00021 #include <iostream> 00022 00023 #include "MessageService/MsgService.h" 00024 #include "RecoBase/CandSliceHandle.h" 00025 #include "RecoBase/CandFitTrackHandle.h" 00026 #include "RecoBase/CandFitTrack.h" 00027 #include "UgliGeometry/UgliGeomHandle.h" 00028 00029 ClassImp(CandFitTrackHandle) 00030 00031 //______________________________________________________________________ 00032 CVSID("$Id: CandFitTrackHandle.cxx,v 1.18 2009/07/21 22:12:38 gmieg Exp $"); 00033 00034 //______________________________________________________________________ 00035 CandFitTrackHandle::CandFitTrackHandle() 00036 { 00037 } 00038 00039 //______________________________________________________________________ 00040 CandFitTrackHandle::CandFitTrackHandle(const CandFitTrackHandle &cdh) : 00041 CandTrackHandle(cdh) 00042 { 00043 } 00044 00045 //______________________________________________________________________ 00046 CandFitTrackHandle::CandFitTrackHandle(CandFitTrack *cd) : 00047 CandTrackHandle(cd) 00048 { 00049 } 00050 00051 //______________________________________________________________________ 00052 CandFitTrackHandle::~CandFitTrackHandle() 00053 { 00054 } 00055 00056 //______________________________________________________________________ 00057 CandFitTrackHandle *CandFitTrackHandle::DupHandle() const 00058 { 00059 return (new CandFitTrackHandle(*this)); 00060 } 00061 00062 00063 //______________________________________________________________________ 00064 void CandFitTrackHandle::Trace(const char *c) const 00065 { 00066 MSG("Cand", Msg::kDebug) 00067 << "**********Begin CandFitTrackHandle::Trace(\"" << c << "\")" << endl 00068 << "Information from CandFitTrackHandle's CandHandle: " << endl; 00069 CandHandle::Trace(c); 00070 MSG("Cand", Msg::kDebug) 00071 << "**********End CandFitTrackHandle::Trace(\"" << c << "\")" << endl; 00072 } 00073 00074 00075 NavKey CandFitTrackHandle::KeyFromSlice(const CandFitTrackHandle *reco) 00076 { 00077 if (reco->GetCandSlice()) { 00078 return static_cast<Int_t>(reco->GetCandSlice()->GetUidInt()); 00079 } 00080 return 0; 00081 00082 } 00083 00084 Double_t CandFitTrackHandle::GetEMCharge() const 00085 { 00086 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fEMCharge; 00087 } 00088 00089 void CandFitTrackHandle::SetEMCharge(Double_t emcharge) 00090 { 00091 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fEMCharge = emcharge; 00092 } 00093 00094 Double_t CandFitTrackHandle::GetChi2() const 00095 { 00096 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fChi2; 00097 } 00098 00099 void CandFitTrackHandle::SetChi2(Double_t chi2) 00100 { 00101 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fChi2 = chi2; 00102 } 00103 00104 Double_t CandFitTrackHandle::GetMomentumRange() const 00105 { 00106 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fMomentumRange; 00107 } 00108 00109 void CandFitTrackHandle::SetMomentumRange(Double_t momentum) 00110 { 00111 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fMomentumRange = momentum; 00112 } 00113 00114 Double_t CandFitTrackHandle::GetMomentumCurve() const 00115 { 00116 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fMomentumCurve; 00117 } 00118 00119 void CandFitTrackHandle::SetMomentumCurve(Double_t momentum) 00120 { 00121 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fMomentumCurve = momentum; 00122 } 00123 00124 //---------------------------------------------------------------------- 00125 Double_t CandFitTrackHandle::GetEndQP() const 00126 { 00127 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fEndQP; 00128 } 00129 00130 //---------------------------------------------------------------------- 00131 void CandFitTrackHandle::SetEndQP(Double_t qp0) 00132 { 00133 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fEndQP = qp0; 00134 } 00135 00136 //---------------------------------------------------------------------- 00137 Double_t CandFitTrackHandle::GetBave() const 00138 { 00139 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fBave; 00140 } 00141 00142 00143 //---------------------------------------------------------------------- 00144 void CandFitTrackHandle::SetBave(Double_t bave) 00145 { 00146 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fBave = bave; 00147 } 00148 00149 //---------------------------------------------------------------------- 00150 Float_t CandFitTrackHandle::GetPlaneChi2(Int_t iplane) const 00151 { 00152 map<Int_t,Float_t>::iterator iter; 00153 iter = (dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneChi2).find(iplane); 00154 if (iter!=(dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneChi2).end()) { 00155 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneChi2[iplane]; 00156 } 00157 return -1.; 00158 } 00159 00160 //---------------------------------------------------------------------- 00161 Float_t CandFitTrackHandle::GetPlaneQP(Int_t iplane) const 00162 { 00163 map<Int_t,Float_t>::iterator iter; 00164 iter = (dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneQP).find(iplane); 00165 if (iter!=(dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneQP).end()) { 00166 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fPlaneQP[iplane]; 00167 } 00168 return -1.; 00169 } 00170 00171 //---------------------------------------------------------------------- 00172 void CandFitTrackHandle::SetPlaneQP(Int_t iplane, Double_t qp) 00173 { 00174 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fPlaneQP[iplane] = (Float_t)qp; 00175 } 00176 00177 //---------------------------------------------------------------------- 00178 void CandFitTrackHandle::SetPlaneChi2(Int_t iplane, Double_t chi2) 00179 { 00180 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fPlaneChi2[iplane] = (Float_t)chi2; 00181 } 00182 00183 //---------------------------------------------------------------------- 00184 void CandFitTrackHandle::SetEndUError(Double_t error) 00185 { 00186 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fEndUError = error; 00187 } 00188 00189 //---------------------------------------------------------------------- 00190 void CandFitTrackHandle::SetEndVError(Double_t error) 00191 { 00192 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fEndVError = error; 00193 } 00194 00195 //---------------------------------------------------------------------- 00196 void CandFitTrackHandle::SetEnddUError(Double_t error) 00197 { 00198 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fEnddUError = error; 00199 } 00200 00201 //---------------------------------------------------------------------- 00202 void CandFitTrackHandle::SetEnddVError(Double_t error) 00203 { 00204 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fEnddVError = error; 00205 } 00206 00207 //---------------------------------------------------------------------- 00208 void CandFitTrackHandle::SetEndQPError(Double_t error) 00209 { 00210 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fEndQPError = error; 00211 } 00212 00213 //---------------------------------------------------------------------- 00214 Double_t CandFitTrackHandle::GetEndUError() const 00215 { 00216 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fEndUError; 00217 } 00218 00219 //---------------------------------------------------------------------- 00220 Double_t CandFitTrackHandle::GetEndVError() const 00221 { 00222 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fEndVError; 00223 } 00224 00225 //---------------------------------------------------------------------- 00226 Double_t CandFitTrackHandle::GetEnddUError() const 00227 { 00228 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fEnddUError; 00229 } 00230 00231 //---------------------------------------------------------------------- 00232 Double_t CandFitTrackHandle::GetEnddVError() const 00233 { 00234 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fEnddVError; 00235 } 00236 00237 //---------------------------------------------------------------------- 00238 Double_t CandFitTrackHandle::GetEndQPError() const 00239 { 00240 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fEndQPError; 00241 } 00242 00243 //---------------------------------------------------------------------- 00244 void CandFitTrackHandle::SetNSwimFail(Int_t nswimfail) 00245 { 00246 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fNSwimFail = nswimfail; 00247 } 00248 00249 //---------------------------------------------------------------------- 00250 Int_t CandFitTrackHandle::GetNSwimFail() const 00251 { 00252 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fNSwimFail; 00253 } 00254 00255 00256 Bool_t CandFitTrackHandle::GetPass() const 00257 { 00258 return dynamic_cast<const CandFitTrack*>(GetCandBase())->fPass; 00259 } 00260 00261 void CandFitTrackHandle::SetPass(Bool_t pass) 00262 { 00263 dynamic_cast<CandFitTrack*>(GetOwnedCandBase())->fPass = pass; 00264 } 00265 00266 //---------------------------------------------------------------------- 00267 void CandFitTrackHandle::SetNIterate(Int_t n) 00268 { 00269 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fNIterate = n; 00270 } 00271 00272 //---------------------------------------------------------------------- 00273 Int_t CandFitTrackHandle::GetNIterate() const 00274 { 00275 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fNIterate; 00276 } 00277 00278 //---------------------------------------------------------------------- 00279 void CandFitTrackHandle::SetVtxQPError(Double_t error) 00280 { 00281 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fVtxQPError = error; 00282 } 00283 00284 //---------------------------------------------------------------------- 00285 Double_t CandFitTrackHandle::GetVtxQPError() const 00286 { 00287 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fVtxQPError; 00288 } 00289 00290 //---------------------------------------------------------------------- 00291 void CandFitTrackHandle::SetNDOF(Int_t ndof) 00292 { 00293 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fNDOF = ndof; 00294 } 00295 00296 //---------------------------------------------------------------------- 00297 Int_t CandFitTrackHandle::GetNDOF() const 00298 { 00299 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fNDOF; 00300 } 00301 00302 //---------------------------------------------------------------------- 00303 void CandFitTrackHandle::SetCPUTime(Double_t cputime) 00304 { 00305 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fCPUTime = cputime; 00306 } 00307 00308 //---------------------------------------------------------------------- 00309 Double_t CandFitTrackHandle::GetCPUTime() const 00310 { 00311 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fCPUTime; 00312 } 00313 00314 00315 //---------------------------------------------------------------------- 00316 void CandFitTrackHandle::SetVtxUError(Double_t error) 00317 { 00318 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fVtxUError = error; 00319 } 00320 00321 //---------------------------------------------------------------------- 00322 Double_t CandFitTrackHandle::GetVtxUError() const 00323 { 00324 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fVtxUError; 00325 } 00326 00327 //---------------------------------------------------------------------- 00328 void CandFitTrackHandle::SetVtxVError(Double_t error) 00329 { 00330 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fVtxVError = error; 00331 } 00332 00333 //---------------------------------------------------------------------- 00334 Double_t CandFitTrackHandle::GetVtxVError() const 00335 { 00336 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fVtxVError; 00337 } 00338 00339 //---------------------------------------------------------------------- 00340 void CandFitTrackHandle::SetVtxdUError(Double_t error) 00341 { 00342 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fVtxdUError = error; 00343 } 00344 00345 //---------------------------------------------------------------------- 00346 Double_t CandFitTrackHandle::GetVtxdUError() const 00347 { 00348 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fVtxdUError; 00349 } 00350 00351 //---------------------------------------------------------------------- 00352 void CandFitTrackHandle::SetVtxdVError(Double_t error) 00353 { 00354 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fVtxdVError = error; 00355 } 00356 00357 //---------------------------------------------------------------------- 00358 Double_t CandFitTrackHandle::GetVtxdVError() const 00359 { 00360 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fVtxdVError; 00361 } 00362 00363 //---------------------------------------------------------------------- 00364 00365 CandTrackHandle * CandFitTrackHandle::GetFinderTrack() const 00366 { 00367 return dynamic_cast<const CandFitTrack *>(GetCandBase())->fFinderTrack; 00368 } 00369 00370 //---------------------------------------------------------------------- 00371 void CandFitTrackHandle::SetFinderTrack(CandTrackHandle * fth) 00372 { 00373 dynamic_cast<CandFitTrack *>(GetOwnedCandBase())->fFinderTrack = fth; 00374 } 00375 00376 //---------------------------------------------------------------------- 00377 void CandFitTrackHandle::ClearMaps() 00378 { 00379 CandFitTrack *track = dynamic_cast<CandFitTrack*>(GetOwnedCandBase()); 00380 track->fPlaneChi2.clear(); 00381 track->fPlaneQP.clear(); 00382 CandTrackHandle::ClearMaps(); 00383 } 00384 00385 00386 XXXITRIMP(CandFitTrackHandle)
1.3.9.1