CandFitTrack Class Reference

#include <CandFitTrack.h>

Inheritance diagram for CandFitTrack:
CandTrack CandReco CandBase CandRefCounted CandFitTrackAtNu CandFitTrackCam CandFitTrackMS CandFitTrackSA CandFitTrackSR

List of all members.

Public Member Functions

 CandFitTrack ()
virtual std::ostream & FormatToOStream (std::ostream &os, Option_t *option="") const

Static Public Member Functions

static CandFitTrackHandle MakeCandidate (AlgHandle &ah, CandContext &cx)

Protected Member Functions

 CandFitTrack (AlgHandle &ah)
 CandFitTrack (AlgHandle &ah, CandHandle &ch, CandContext &cx)
 CandFitTrack (const CandFitTrack &rhs)
virtual ~CandFitTrack ()
virtual void CreateLocalHandle ()
virtual CandFitTrackDup () const
virtual Bool_t IsEquivalent (const TObject *rhs) const

Protected Attributes

Double_t fEMCharge
Double_t fChi2
Double_t fMomentumCurve
Double_t fMomentumRange
Bool_t fPass
Double_t fBave
Int_t fNDOF
Double_t fCPUTime
Double_t fVtxQPError
Int_t fNIterate
Double_t fVtxUError
Double_t fVtxVError
Double_t fVtxdUError
Double_t fVtxdVError
Double_t fEndQP
Double_t fEndQPError
Double_t fEndUError
Double_t fEndVError
Double_t fEnddUError
Double_t fEnddVError
Int_t fNSwimFail
map< Int_t, Float_t > fPlaneQP
map< Int_t, Float_t > fPlaneChi2
CandTrackHandlefFinderTrack

Friends

class CandFitTrackHandle

Detailed Description

Definition at line 21 of file CandFitTrack.h.


Constructor & Destructor Documentation

CandFitTrack::CandFitTrack (  ) 

Definition at line 28 of file CandFitTrack.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00028                            :
00029   fEMCharge(0.),
00030   fChi2(0.),
00031   fMomentumCurve(0.),
00032   fMomentumRange(0.),
00033   fPass(0),
00034   fBave(0),
00035   fNDOF(0),
00036   fCPUTime(0.),
00037   fVtxQPError(0.),
00038   fNIterate(0),
00039   fVtxUError(0),
00040   fVtxVError(0),
00041   fVtxdUError(0),
00042   fVtxdVError(0),
00043   fEndQP(0.),
00044   fEndQPError(0.),
00045   fEndUError(0.),
00046   fEndVError(0.),
00047   fEnddUError(0.),
00048   fEnddVError(0.),
00049   fNSwimFail(0),
00050   fFinderTrack(0)
00051 {
00052   MSG("Cand", Msg::kDebug)
00053                   << "Begin CandFitTrack::CandFitTrack() ctor: " << endl
00054                                            << "UidInt = " << GetUidInt()
00055                            << ", ArchUidInt " << GetArchUidInt() << endl
00056                              << "No. of links = " << GetNLinks() << endl
00057                     << "End CandFitTrack::CandFitTrack() ctor." << endl;
00058 }

CandFitTrack::CandFitTrack ( AlgHandle ah  )  [protected]

Definition at line 61 of file CandFitTrack.cxx.

00061                                         :
00062   CandTrack(ah),     // Should be the next class up on inheritance chain
00063   fEMCharge(0.),
00064   fChi2(0.),
00065   fMomentumCurve(0.),
00066   fMomentumRange(0.),
00067   fPass(0),
00068   fBave(0),
00069   fNDOF(0),
00070   fCPUTime(0.),
00071   fVtxQPError(0.),
00072   fNIterate(0),
00073   fVtxUError(0),
00074   fVtxVError(0),
00075   fVtxdUError(0),
00076   fVtxdVError(0),
00077   fEndQP(0.),
00078   fEndQPError(0.),
00079   fEndUError(0.),
00080   fEndVError(0.),
00081   fEnddUError(0.),
00082   fEnddVError(0.),
00083   fNSwimFail(0),  
00084   fFinderTrack(0)
00085 {
00086 
00087 // The sole purpose of this constructor is to transmit the AlgHandle
00088 // up the inheritance chain to CandBase without having to invoke the
00089 // full constructor of an intermediate Candidate type which the highest
00090 // level Candidate might inherit from.  One only wants to create the
00091 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00092 }

CandFitTrack::CandFitTrack ( AlgHandle ah,
CandHandle ch,
CandContext cx 
) [protected]

Definition at line 95 of file CandFitTrack.cxx.

References CreateLocalHandle(), CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, MSG, and AlgHandle::RunAlg().

00096                                                                        :
00097   CandTrack(ah),     // Should be the next class up on inheritance chain
00098   fEMCharge(0.),
00099   fChi2(0.),
00100   fMomentumCurve(0.),
00101   fMomentumRange(0.),
00102   fPass(0),
00103   fBave(0),
00104   fNDOF(0),
00105   fCPUTime(0.),
00106   fVtxQPError(0.),
00107   fNIterate(0),
00108   fVtxUError(0),
00109   fVtxVError(0),
00110   fVtxdUError(0),
00111   fVtxdVError(0),
00112   fEndQP(0.),
00113   fEndQPError(0.),
00114   fEndUError(0.),
00115   fEndVError(0.),
00116   fEnddUError(0.),
00117   fEnddVError(0.),
00118   fNSwimFail(0),
00119   fFinderTrack(0)
00120 {
00121   CreateLocalHandle();
00122   MSG("Cand", Msg::kDebug)
00123        << "Begin CandFitTrack::CandFitTrack(AlgHandle &, CandHandle &, "
00124                                       << "CandContext &) ctor: " << endl
00125                                            << "UidInt = " << GetUidInt()
00126                            << ", ArchUidInt " << GetArchUidInt() << endl
00127                              << "No. of links = " << GetNLinks() << endl
00128          << "End CandFitTrack::CandFitTrack(AlgHandle &, CandHandle &, "
00129                                       << "CandContext &) ctor." << endl;
00130 
00131 // Run Algorithm to construct Candidate
00132   {                                                   // Start of scope.
00133     CandFitTrackHandle csh(this);            // csh will go out of scope
00134     ch = csh;                                       // after setting ch.
00135   }                                                     // End of scope.
00136   ah.RunAlg(ch, cx);
00137 }

CandFitTrack::CandFitTrack ( const CandFitTrack rhs  )  [protected]

Definition at line 140 of file CandFitTrack.cxx.

References fPlaneChi2, fPlaneQP, CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.

00140                                                   :
00141   CandTrack(rhs),    // Should be the next class up on inheritance chain
00142   fEMCharge(rhs.fEMCharge),
00143   fChi2(rhs.fChi2),
00144   fMomentumCurve(rhs.fMomentumCurve),
00145   fMomentumRange(rhs.fMomentumRange),
00146   fPass(rhs.fPass),
00147   fBave(rhs.fBave),
00148   fNDOF(rhs.fNDOF),
00149   fCPUTime(rhs.fCPUTime),
00150   fVtxQPError(rhs.fVtxQPError),
00151   fNIterate(rhs.fNIterate),
00152   fVtxUError(rhs.fVtxUError),
00153   fVtxVError(rhs.fVtxVError),
00154   fVtxdUError(rhs.fVtxdUError),
00155   fVtxdVError(rhs.fVtxdVError),
00156   fEndQP(rhs.fEndQP),
00157   fEndQPError(rhs.fEndQPError),
00158   fEndUError(rhs.fEndUError),
00159   fEndVError(rhs.fEndVError),
00160   fEnddUError(rhs.fEnddUError),
00161   fEnddVError(rhs.fEnddVError),
00162   fNSwimFail(rhs.fNSwimFail),
00163   fFinderTrack(rhs.fFinderTrack)
00164 {
00165   map<Int_t,Float_t>::iterator fPlaneChi2Iter;
00166   map<Int_t,Float_t>::iterator fPlaneQPIter;
00167 
00168   for (fPlaneChi2Iter = rhs.fPlaneChi2.begin();
00169                fPlaneChi2Iter!=rhs.fPlaneChi2.end(); fPlaneChi2Iter++) {
00170     fPlaneChi2[fPlaneChi2Iter->first] = fPlaneChi2Iter->second;
00171   }
00172   for (fPlaneQPIter = rhs.fPlaneQP.begin();
00173                      fPlaneQPIter!=rhs.fPlaneQP.end(); fPlaneQPIter++) {
00174     fPlaneQP[fPlaneQPIter->first] = fPlaneQPIter->second;
00175   }
00176 
00177 //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00178   MSG("Cand", Msg::kDebug)
00179     << "Begin CandFitTrack::CandFitTrack(const CandFitTrack &rhs) ctor:"
00180                                    << endl << "UidInt = " << GetUidInt()
00181                            << ", ArchUidInt " << GetArchUidInt() << endl
00182                              << "No. of links = " << GetNLinks() << endl
00183       << "End CandFitTrack::CandFitTrack(const CandFitTrack &rhs) ctor."
00184                                                                 << endl;
00185 }

CandFitTrack::~CandFitTrack (  )  [protected, virtual]

Definition at line 188 of file CandFitTrack.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.

00189 {
00190   MSG("Cand", Msg::kDebug)
00191                  << "Begin CandFitTrack::~CandFitTrack() dtor: " << endl
00192                                            << "UidInt = " << GetUidInt()
00193                            << ", ArchUidInt " << GetArchUidInt() << endl
00194                              << "No. of links = " << GetNLinks() << endl
00195                    << "End CandFitTrack::~CandFitTrack() dtor." << endl;
00196 }


Member Function Documentation

void CandFitTrack::CreateLocalHandle (  )  [protected, virtual]

Reimplemented from CandTrack.

Reimplemented in CandFitTrackAtNu, CandFitTrackCam, CandFitTrackMS, CandFitTrackSA, and CandFitTrackSR.

Definition at line 199 of file CandFitTrack.cxx.

References CandFitTrackHandle, and CandBase::SetLocalHandle().

Referenced by CandFitTrack(), and Dup().

00200 {
00201   SetLocalHandle(new CandFitTrackHandle(this));
00202 }

CandFitTrack * CandFitTrack::Dup (  )  const [protected, virtual]

Reimplemented from CandTrack.

Reimplemented in CandFitTrackAtNu, CandFitTrackCam, CandFitTrackMS, CandFitTrackSA, and CandFitTrackSR.

Definition at line 205 of file CandFitTrack.cxx.

References CandBase::AddDaughterLink(), CandFitTrack(), CreateLocalHandle(), and CandBase::GetDaughterIterator().

00206 {
00207 
00208 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00209 // Daughter List copy is made in the derived class Dup() function.
00210 // This is because base class copy constructor hasn't yet created
00211 // fLocalHandle with a CandHandle* of the full derived type.
00212   CandFitTrack *cb = new CandFitTrack(*this);     // Copy-ctor dups ptrs
00213   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00214   TIter iterdau = GetDaughterIterator();
00215   CandHandle *dau;
00216   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00217   return cb;
00218 }

std::ostream & CandFitTrack::FormatToOStream ( std::ostream &  os,
Option_t *  option = "" 
) const [virtual]

Reimplemented from CandTrack.

Reimplemented in CandFitTrackSR.

Definition at line 292 of file CandFitTrack.cxx.

References fChi2, fCPUTime, fEMCharge, fMomentumCurve, fNDOF, fNIterate, fPass, fVtxdUError, fVtxdVError, fVtxUError, fVtxVError, CandBase::GetDataIndent(), and CandBase::GetIndentString().

00294 {
00295   CandTrack::FormatToOStream(os,option);
00296 
00297   TString opt(option);
00298   if (!opt.Contains("v0")) { // v0 means suppress the data values
00299     const TString& indent = GetIndentString();
00300 
00301     os << indent << GetDataIndent()
00302        << "EMCharge " << fEMCharge
00303        << " Chi2 " << fChi2
00304        << " MomentumCurve " << fMomentumCurve
00305        << " NIterate " << fNIterate
00306        << "NDOF " << fNDOF 
00307        << " " << (fPass?"Pass":"Fail")
00308        << " CPUTime " << fCPUTime
00309        << " VtxUError " << fVtxUError
00310        << " VtxVError " << fVtxVError
00311        << " VtxdUError " << fVtxdUError
00312        << " VtxdVError " << fVtxdVError
00313        << endl;
00314   }
00315   return os;
00316   
00317 }

Bool_t CandFitTrack::IsEquivalent ( const TObject *  rhs  )  const [protected, virtual]

Reimplemented from CandTrack.

Reimplemented in CandFitTrackSR.

Definition at line 221 of file CandFitTrack.cxx.

References fBave, fChi2, fCPUTime, fEMCharge, fEnddUError, fEnddVError, fEndQP, fEndQPError, fEndUError, fEndVError, fFinderTrack, fMomentumCurve, fNDOF, fNIterate, fNSwimFail, fPass, fPlaneChi2, fPlaneQP, fVtxdUError, fVtxdVError, fVtxQPError, fVtxUError, fVtxVError, CandTrack::IsEquivalent(), CandBase::TestDisplayCandBanner(), and CandBase::TestEquality().

Referenced by CandFitTrackSR::IsEquivalent().

00222 {
00223   Bool_t result = true;
00224   if (!CandTrack::IsEquivalent(rhs)) result = false;  // superclass test
00225   TestDisplayCandBanner("CandFitTrack");
00226   const CandFitTrack* rCnd = dynamic_cast<const CandFitTrack*>(rhs);
00227   if (rCnd == NULL) return false;
00228 
00229   result = TestEquality("fEMCharge",         this->fEMCharge,
00230                                              rCnd->fEMCharge) && result;
00231   result = TestEquality("fChi2",                 this->fChi2,
00232                                                  rCnd->fChi2) && result;
00233   result = TestEquality("fMomentumCurve",
00234                                         this->fMomentumCurve,
00235                                         rCnd->fMomentumCurve) && result;
00236   result = TestEquality("fPass",        this->fPass,
00237                                         rCnd->fPass)          && result;
00238   result = TestEquality("fBave",        this->fBave,
00239                                         rCnd->fBave)          && result;
00240   result = TestEquality("fNDOF",         this->fNDOF, 
00241                                          rCnd->fNDOF)         && result;
00242   result = TestEquality("fCPUTime",      this->fCPUTime, 
00243                                          rCnd->fCPUTime)      && result;
00244   result = TestEquality("fNIterate",
00245                             this->fNIterate,
00246                             rCnd->fNIterate)                  && result;
00247   result = TestEquality("fVtxQPError",   this->fVtxQPError, 
00248                                          rCnd->fVtxQPError)   && result; 
00249   result = TestEquality("fVtxUError",   this->fVtxUError, 
00250                                          rCnd->fVtxUError)   && result; 
00251   result = TestEquality("fVtxVError",   this->fVtxVError, 
00252                                          rCnd->fVtxVError)   && result; 
00253   result = TestEquality("fVtxdUError",   this->fVtxdUError, 
00254                                          rCnd->fVtxdUError)   && result; 
00255   result = TestEquality("fVtxdVError",   this->fVtxdVError, 
00256                                          rCnd->fVtxdVError)   && result; 
00257   result = TestEquality("fFinderTrack",   this->fFinderTrack, 
00258                                          rCnd->fFinderTrack)   && result;
00259   result = TestEquality("fEndQP",
00260                         this->fEndQP,
00261                         rCnd->fEndQP)                     && result;
00262   result = TestEquality("fPlaneChi2",    this->fPlaneChi2, 
00263                                          rCnd->fPlaneChi2)    && result;
00264   result = TestEquality("fPlaneQP",      this->fPlaneQP, 
00265                                          rCnd->fPlaneQP)      && result;
00266   result = TestEquality("fEndUError",    this->fEndUError, 
00267                                          rCnd->fEndUError)    && result;
00268   result = TestEquality("fEndVError",    this->fEndVError, 
00269                                          rCnd->fEndVError)    && result;
00270   result = TestEquality("fEnddUError",   this->fEnddUError, 
00271                                          rCnd->fEnddUError)   && result;
00272   result = TestEquality("fEnddVError",   this->fEnddVError, 
00273                                          rCnd->fEnddVError)   && result;
00274   result = TestEquality("fEndQPError",   this->fEndQPError, 
00275                                          rCnd->fEndQPError)   && result;
00276   result = TestEquality("fNSwimFail",    this->fNSwimFail, 
00277                                          rCnd->fNSwimFail)    && result;
00278 
00279   return result;
00280 }

CandFitTrackHandle CandFitTrack::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented from CandTrack.

Reimplemented in CandFitTrackAtNu, CandFitTrackCam, CandFitTrackMS, CandFitTrackSA, and CandFitTrackSR.

Definition at line 283 of file CandFitTrack.cxx.

References CandFitTrack().

00285 {
00286   CandFitTrackHandle csh;
00287   new CandFitTrack(ah, csh, cx);        // csh owns the new CandFitTrack
00288   return csh;
00289 }


Friends And Related Function Documentation

friend class CandFitTrackHandle [friend]

Definition at line 23 of file CandFitTrack.h.

Referenced by CreateLocalHandle().


Member Data Documentation

Double_t CandFitTrack::fBave [protected]

Definition at line 47 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fChi2 [protected]

Definition at line 43 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fCPUTime [protected]

Definition at line 49 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fEMCharge [protected]

Definition at line 42 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fEnddUError [protected]

Definition at line 61 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fEnddVError [protected]

Definition at line 62 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fEndQP [protected]

Definition at line 57 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fEndQPError [protected]

Definition at line 58 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fEndUError [protected]

Definition at line 59 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fEndVError [protected]

Definition at line 60 of file CandFitTrack.h.

Referenced by IsEquivalent().

Definition at line 68 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fMomentumCurve [protected]

Definition at line 44 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fMomentumRange [protected]

Definition at line 45 of file CandFitTrack.h.

Int_t CandFitTrack::fNDOF [protected]

Definition at line 48 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Int_t CandFitTrack::fNIterate [protected]

Definition at line 51 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Int_t CandFitTrack::fNSwimFail [protected]

Definition at line 63 of file CandFitTrack.h.

Referenced by IsEquivalent().

Bool_t CandFitTrack::fPass [protected]

Definition at line 46 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

map<Int_t,Float_t> CandFitTrack::fPlaneChi2 [mutable, protected]

Definition at line 66 of file CandFitTrack.h.

Referenced by CandFitTrack(), CandFitTrackHandle::ClearMaps(), and IsEquivalent().

map<Int_t,Float_t> CandFitTrack::fPlaneQP [mutable, protected]

Definition at line 65 of file CandFitTrack.h.

Referenced by CandFitTrack(), CandFitTrackHandle::ClearMaps(), and IsEquivalent().

Double_t CandFitTrack::fVtxdUError [protected]

Definition at line 54 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fVtxdVError [protected]

Definition at line 55 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fVtxQPError [protected]

Definition at line 50 of file CandFitTrack.h.

Referenced by IsEquivalent().

Double_t CandFitTrack::fVtxUError [protected]

Definition at line 52 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitTrack::fVtxVError [protected]

Definition at line 53 of file CandFitTrack.h.

Referenced by FormatToOStream(), and IsEquivalent().


The documentation for this class was generated from the following files:

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1