CandFitShowerEM Class Reference

#include <CandFitShowerEM.h>

Inheritance diagram for CandFitShowerEM:
CandShowerEM CandShower CandReco CandBase CandRefCounted

List of all members.

Public Member Functions

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

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

Double_t fChi2
Double_t fMomentum
Bool_t fPass
Int_t fNDOF
Double_t fCPUTime
Int_t fNIterate

Friends

class CandFitShowerEMHandle

Detailed Description

Definition at line 17 of file CandFitShowerEM.h.


Constructor & Destructor Documentation

CandFitShowerEM::CandFitShowerEM (  ) 

Definition at line 19 of file CandFitShowerEM.cxx.

References Msg::kDebug, and MSG.

Referenced by Dup(), and MakeCandidate().

00019                                  :
00020   fChi2(0.),
00021   fMomentum(0.),
00022   fPass(0),
00023   fNDOF(0),
00024   fCPUTime(0.),
00025   fNIterate(0)
00026 {
00027   MSG("CandFitShowerEM", Msg::kDebug)
00028     << "Begin CandFitShowerEM::CandFitShowerEM() ctor: " << endl
00029     << "UidInt = " << GetUidInt()
00030     << ", ArchUidInt " << GetArchUidInt() << endl
00031     << "No. of links = " << GetNLinks() << endl
00032     << "End CandFitShowerEM::CandFitShowerEM() ctor." << endl;
00033 }

CandFitShowerEM::CandFitShowerEM ( AlgHandle ah  )  [protected]

Definition at line 36 of file CandFitShowerEM.cxx.

00036                                               :
00037   CandShowerEM(ah),     // Should be the next class up on inheritance chain
00038   fChi2(0.),
00039   fMomentum(0.),
00040   fPass(0),
00041   fNDOF(0),
00042   fCPUTime(0.),
00043   fNIterate(0)
00044 {
00045 
00046 // The sole purpose of this constructor is to transmit the AlgHandle
00047 // up the inheritance chain to CandBase without having to invoke the
00048 // full constructor of an intermediate Candidate type which the highest
00049 // level Candidate might inherit from.  One only wants to create the
00050 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00051 }

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

Definition at line 54 of file CandFitShowerEM.cxx.

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

00055                                                   :
00056   CandShowerEM(ah),     // Should be the next class up on inheritance chain
00057   fChi2(0.),
00058   fMomentum(0.),
00059   fPass(0),
00060   fNDOF(0),
00061   fCPUTime(0.),
00062   fNIterate(0)
00063 {
00064   CreateLocalHandle();
00065   MSG("Cand", Msg::kDebug)
00066     << "Begin CandFitShowerEM::CandFitShowerEM(AlgHandle &, CandHandle &, "
00067     << "CandContext &) ctor: " << endl
00068     << "UidInt = " << GetUidInt()
00069     << ", ArchUidInt " << GetArchUidInt() << endl
00070     << "No. of links = " << GetNLinks() << endl
00071     << "End CandFitShowerEM::CandFitShowerEM(AlgHandle &, CandHandle &, "
00072     << "CandContext &) ctor." << endl;
00073   
00074   // Run Algorithm to construct Candidate
00075   {                                            // Start of scope.
00076     CandFitShowerEMHandle cfsemh(this);        // cfsemh will go out of scope
00077     ch = cfsemh;                               // after setting ch.
00078   }                                            // End of scope.
00079   ah.RunAlg(ch, cx);
00080 }

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

Definition at line 83 of file CandFitShowerEM.cxx.

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

00083                                                            :
00084   CandShowerEM(rhs),    // Should be the next class up on inheritance chain
00085   fChi2(rhs.fChi2),
00086   fMomentum(rhs.fMomentum),
00087   fPass(rhs.fPass),
00088   fNDOF(rhs.fNDOF),
00089   fCPUTime(rhs.fCPUTime),
00090   fNIterate(rhs.fNIterate)
00091 {
00092 
00093   //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00094   MSG("Cand", Msg::kDebug)
00095    <<"Begin CandFitShowerEM::CandFitShowerEM(const CandFitShowerEM &rhs) ctor:"
00096    << endl << "UidInt = " << GetUidInt()
00097    << ", ArchUidInt " << GetArchUidInt() << endl
00098    << "No. of links = " << GetNLinks() << endl
00099    << "End CandFitShowerEM::CandFitShowerEM(const CandFitShowerEM &rhs) ctor."
00100    << endl;
00101 }

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

Definition at line 104 of file CandFitShowerEM.cxx.

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

00105 {
00106   MSG("FitShowerEM", Msg::kDebug)
00107     << "Begin CandFitShowerEM::~CandFitShowerEM() dtor: " << endl
00108     << "UidInt = " << GetUidInt()
00109     << ", ArchUidInt " << GetArchUidInt() << endl
00110     << "No. of links = " << GetNLinks() << endl
00111     << "End CandFitShowerEM::~CandFitShowerEM() dtor." << endl;
00112 }


Member Function Documentation

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

Reimplemented from CandShowerEM.

Definition at line 115 of file CandFitShowerEM.cxx.

References CandFitShowerEMHandle, and CandBase::SetLocalHandle().

Referenced by CandFitShowerEM(), and Dup().

00116 {
00117   SetLocalHandle(new CandFitShowerEMHandle(this));
00118 }

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

Reimplemented from CandShowerEM.

Definition at line 121 of file CandFitShowerEM.cxx.

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

00122 {
00123 
00124 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00125 // Daughter List copy is made in the derived class Dup() function.
00126 // This is because base class copy constructor hasn't yet created
00127 // fLocalHandle with a CandHandle* of the full derived type.
00128   CandFitShowerEM *cb = new CandFitShowerEM(*this);     // Copy-ctor dups ptrs
00129   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00130   TIter iterdau = GetDaughterIterator();
00131   CandHandle *dau;
00132   while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00133   return cb;
00134 }

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

Reimplemented from CandShower.

Definition at line 165 of file CandFitShowerEM.cxx.

References fChi2, fCPUTime, fMomentum, fNDOF, fNIterate, fPass, CandBase::GetDataIndent(), and CandBase::GetIndentString().

00167 {
00168   CandShowerEM::FormatToOStream(os,option);
00169 
00170   TString opt(option);
00171   if (!opt.Contains("v0")) { // v0 means suppress the data values
00172     const TString& indent = GetIndentString();
00173     
00174     os << indent << GetDataIndent()    
00175        << " Chi2 " << fChi2
00176        << " Momentum " << fMomentum
00177        << " NIterate " << fNIterate
00178        << "NDOF " << fNDOF 
00179        << " " << (fPass?"Pass":"Fail")
00180        << " CPUTime " << fCPUTime
00181        << endl;
00182   }
00183   return os;
00184   
00185 }

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

Reimplemented from CandShowerEM.

Definition at line 137 of file CandFitShowerEM.cxx.

References fChi2, fCPUTime, fMomentum, fNDOF, fNIterate, fPass, CandShowerEM::IsEquivalent(), CandBase::TestDisplayCandBanner(), and CandBase::TestEquality().

00138 {
00139   Bool_t result = true;
00140   if (!CandShowerEM::IsEquivalent(rhs)) result = false;  // superclass test
00141   TestDisplayCandBanner("CandFitShowerEM");
00142   const CandFitShowerEM* rCnd = dynamic_cast<const CandFitShowerEM*>(rhs);
00143   if (rCnd == NULL) return false;
00144 
00145   result = TestEquality("fChi2",this->fChi2,rCnd->fChi2) && result;
00146   result = TestEquality("fMomentum",this->fMomentum,rCnd->fMomentum) && result;
00147   result = TestEquality("fPass",this->fPass,rCnd->fPass) && result;
00148   result = TestEquality("fNDOF",this->fNDOF,rCnd->fNDOF) && result;
00149   result = TestEquality("fCPUTime",this->fCPUTime,rCnd->fCPUTime) && result;
00150   result = TestEquality("fNIterate",this->fNIterate,rCnd->fNIterate) && result;
00151 
00152   return result;
00153 }

CandFitShowerEMHandle CandFitShowerEM::MakeCandidate ( AlgHandle ah,
CandContext cx 
) [static]

Reimplemented from CandShowerEM.

Definition at line 156 of file CandFitShowerEM.cxx.

References CandFitShowerEM().

Referenced by AlgFitShowerEMList::RunAlg().

00158 {
00159   CandFitShowerEMHandle cfsemh;
00160   new CandFitShowerEM(ah, cfsemh, cx); // cfsemh owns the new CandFitShowerEM
00161   return cfsemh;
00162 }


Friends And Related Function Documentation

friend class CandFitShowerEMHandle [friend]

Definition at line 19 of file CandFitShowerEM.h.

Referenced by CreateLocalHandle().


Member Data Documentation

Double_t CandFitShowerEM::fChi2 [protected]

Definition at line 38 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitShowerEM::fCPUTime [protected]

Definition at line 43 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().

Double_t CandFitShowerEM::fMomentum [protected]

Definition at line 39 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().

Int_t CandFitShowerEM::fNDOF [protected]

Definition at line 42 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().

Int_t CandFitShowerEM::fNIterate [protected]

Definition at line 44 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().

Bool_t CandFitShowerEM::fPass [protected]

Definition at line 40 of file CandFitShowerEM.h.

Referenced by FormatToOStream(), and IsEquivalent().


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

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1