#include <CandShower.h>
Inheritance diagram for CandShower:

Public Member Functions | |
| CandShower () | |
| virtual std::ostream & | FormatToOStream (std::ostream &os, Option_t *option="") const |
Static Public Member Functions | |
| CandShowerHandle | MakeCandidate (AlgHandle &ah, CandContext &cx) |
Protected Member Functions | |
| CandShower (AlgHandle &ah) | |
| CandShower (AlgHandle &ah, CandHandle &ch, CandContext &cx) | |
| CandShower (const CandShower &rhs) | |
| virtual | ~CandShower () |
| virtual void | CreateLocalHandle () |
| virtual CandShower * | Dup () const |
| virtual Bool_t | IsEquivalent (const TObject *rhs) const |
Protected Attributes | |
| Double_t | fEnergy |
| Double_t | fEnergy_wtCC |
| Double_t | fEnergy_CC |
| Double_t | fEnergy_wtNC |
| Double_t | fEnergy_NC |
| Double_t | fEnergy_EM |
| Double_t | fMinStripPE |
| TObjArray | fClusterList |
| map< Int_t, Float_t > | fUPos |
| map< Int_t, Float_t > | fVPos |
| map< Int_t, Double_t > | fTime [2] |
Friends | |
| class | CandShowerHandle |
| class | CandShowerSRHandle |
|
|
Definition at line 30 of file CandShower.cxx. References MSG. Referenced by Dup(), and MakeCandidate(). 00030 : 00031 fEnergy(0.), fMinStripPE(0.) 00032 { 00033 MSG("Cand", Msg::kDebug) 00034 << "Begin CandShower::CandShower() ctor: " << endl 00035 << "UidInt = " << GetUidInt() 00036 << ", ArchUidInt " << GetArchUidInt() << endl 00037 << "No. of links = " << GetNLinks() << endl 00038 << "End CandShower::CandShower() ctor." << endl; 00039 }
|
|
|
Definition at line 42 of file CandShower.cxx. 00042 : 00043 CandReco(ah), // Should be the next class up on inheritance chain 00044 fEnergy(0.), 00045 fEnergy_wtCC(0.), 00046 fEnergy_CC(0.), 00047 fEnergy_wtNC(0.), 00048 fEnergy_NC(0.), 00049 fEnergy_EM(0.), 00050 fMinStripPE(0.) 00051 { 00052 00053 // The sole purpose of this constructor is to transmit the AlgHandle 00054 // up the inheritance chain to CandBase without having to invoke the 00055 // full constructor of an intermediate Candidate type which the highest 00056 // level Candidate might inherit from. One only wants to create the 00057 // LocalHandle and invoke the RunAlg() method in the lowest level class. 00058 }
|
|
||||||||||||||||
|
Definition at line 61 of file CandShower.cxx. References CreateLocalHandle(), CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), MSG, and AlgHandle::RunAlg(). 00061 : 00062 CandReco(ah), // Should be the next class up on inheritance chain 00063 fEnergy(0.), 00064 fEnergy_wtCC(0.), 00065 fEnergy_CC(0.), 00066 fEnergy_wtNC(0.), 00067 fEnergy_NC(0.), 00068 fEnergy_EM(0.), 00069 fMinStripPE(0.) 00070 { 00071 CreateLocalHandle(); 00072 MSG("Cand", Msg::kDebug) 00073 << "Begin CandShower::CandShower(AlgHandle &, CandHandle &, " 00074 << "CandContext &) ctor: " << endl 00075 << "UidInt = " << GetUidInt() 00076 << ", ArchUidInt " << GetArchUidInt() << endl 00077 << "No. of links = " << GetNLinks() << endl 00078 << "End CandShower::CandShower(AlgHandle &, CandHandle &, " 00079 << "CandContext &) ctor." << endl; 00080 00081 // Run Algorithm to construct Candidate 00082 { // Start of scope. 00083 CandShowerHandle csh(this); // csh will go out of scope 00084 ch = csh; // after setting ch. 00085 } // End of scope. 00086 ah.RunAlg(ch, cx); 00087 }
|
|
|
Definition at line 90 of file CandShower.cxx. References CandHandle::DupHandle(), fClusterList, fTime, fUPos, fVPos, CandBase::GetArchUidInt(), CandBase::GetDaughterIterator(), CandRefCounted::GetNLinks(), CandStripHandle::GetPlane(), CandBase::GetUidInt(), and MSG. 00090 : 00091 CandReco(rhs), // Should be the next class up on inheritance chain 00092 fEnergy(rhs.fEnergy), 00093 fEnergy_wtCC(rhs.fEnergy_wtCC), 00094 fEnergy_CC(rhs.fEnergy_CC), 00095 fEnergy_wtNC(rhs.fEnergy_wtNC), 00096 fEnergy_NC(rhs.fEnergy_NC), 00097 fEnergy_EM(rhs.fEnergy_EM), 00098 fMinStripPE(rhs.fMinStripPE) 00099 { 00100 00101 //CreateLocalHandle(); // Moved to Dup function following copy-ctor call 00102 MSG("Cand", Msg::kDebug) 00103 << "Begin CandShower::CandShower(const CandShower &rhs) ctor: " << endl 00104 << "UidInt = " << GetUidInt() 00105 << ", ArchUidInt " << GetArchUidInt() << endl 00106 << "No. of links = " << GetNLinks() << endl 00107 << "End CandShower::CandShower(const CandShower &rhs) ctor." << endl; 00108 00109 fUPos.erase(fUPos.begin(),fUPos.end()); 00110 fVPos.erase(fVPos.begin(),fVPos.end()); 00111 fTime[0].erase(fTime[0].begin(),fTime[0].end()); 00112 fTime[1].erase(fTime[1].begin(),fTime[1].end()); 00113 TIter stripItr(rhs.GetDaughterIterator()); 00114 while (const CandStripHandle *striphandle = 00115 dynamic_cast<CandStripHandle*>(stripItr())) { 00116 00117 fUPos[striphandle->GetPlane()] = rhs.fUPos[striphandle->GetPlane()]; 00118 fVPos[striphandle->GetPlane()] = rhs.fVPos[striphandle->GetPlane()]; 00119 fTime[0][striphandle->GetPlane()] = rhs.fTime[0][striphandle->GetPlane()]; 00120 fTime[1][striphandle->GetPlane()] = rhs.fTime[1][striphandle->GetPlane()]; 00121 } 00122 00123 // fClusterList contents owned from CandShower version 2 00124 CandHandle *ch; 00125 TIter cliter(&rhs.fClusterList); 00126 while ((ch = dynamic_cast<CandHandle *>(cliter()))) 00127 fClusterList.Add(ch->DupHandle()); 00128 }
|
|
|
Definition at line 131 of file CandShower.cxx. References fClusterList, CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), and MSG. 00132 {
00133
00134 MSG("Cand", Msg::kDebug)
00135 << "Begin CandShower::~CandShower() dtor: " << endl
00136 << "UidInt = " << GetUidInt()
00137 << ", ArchUidInt " << GetArchUidInt() << endl
00138 << "No. of links = " << GetNLinks() << endl
00139 << "End CandShower::~CandShower() dtor." << endl;
00140
00141 fClusterList.Delete(); // Owned CandHandle*'s from CandShower vers 2
00142 }
|
|
|
Implements CandReco. Reimplemented in CandShowerAtNu, CandFitShowerEM, CandShowerEM, and CandShowerSR. Definition at line 145 of file CandShower.cxx. References CandShowerHandle, and CandBase::SetLocalHandle(). Referenced by CandShower(), and Dup(). 00146 {
00147 SetLocalHandle(new CandShowerHandle(this));
00148 }
|
|
|
Implements CandReco. Reimplemented in CandShowerAtNu, CandFitShowerEM, CandShowerEM, and CandShowerSR. Definition at line 151 of file CandShower.cxx. References CandBase::AddDaughterLink(), CandShower(), CreateLocalHandle(), CandBase::GetDaughterIterator(), and CandBase::SetCandRecord(). 00152 {
00153
00154 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00155 // Daughter List copy is made in the derived class Dup() function.
00156 // This is because base class copy constructor hasn't yet created
00157 // fLocalHandle with a CandHandle* of the full derived type.
00158 CandShower *cb = new CandShower(*this); // Copy-ctor dups ptrs
00159 cb->CreateLocalHandle(); // Initializes fLocalHandle after copy-ctor
00160 cb->SetCandRecord(fCandRecord);
00161 TIter iterdau = GetDaughterIterator();
00162 CandHandle *dau;
00163 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00164 return cb;
00165 }
|
|
||||||||||||
|
Reimplemented from CandReco. Reimplemented in CandFitShowerEM, and CandShowerSR. Definition at line 210 of file CandShower.cxx. References fClusterList, fEnergy, fEnergy_CC, fEnergy_EM, fEnergy_NC, fEnergy_wtCC, fEnergy_wtNC, CandReco::FormatToOStream(), fTime, fUPos, fVPos, CandBase::GetDataIndent(), CandBase::GetIndentString(), and option. Referenced by CandShowerSR::FormatToOStream(), and CandFitShowerEM::FormatToOStream(). 00212 {
00213 CandReco::FormatToOStream(os,option);
00214
00215 TString opt(option);
00216 if (!opt.Contains("v0")) { // v0 means suppress the data values
00217 const TString& indent = GetIndentString();
00218
00219 os << indent << GetDataIndent()
00220 << "fClusterList.size " << fClusterList.GetSize()
00221 << " Energy " << fEnergy
00222 << " de-weighted CC Energy " << fEnergy_wtCC
00223 << " linear CC Energy " << fEnergy_CC
00224 << " de-weighted NC Energy " << fEnergy_wtNC
00225 << " linear NC Energy " << fEnergy_NC
00226 << " EM Energy " << fEnergy_EM
00227 << " UVPos map sizes " << fUPos.size() << " " << fVPos.size()
00228 << " Time map sizes " << fTime[0].size() << " " << fTime[1].size()
00229 << endl;
00230 }
00231 return os;
00232
00233 }
|
|
|
Reimplemented from CandReco. Reimplemented in CandFitShowerEM, CandShowerEM, and CandShowerSR. Definition at line 168 of file CandShower.cxx. References fClusterList, fEnergy, fEnergy_CC, fEnergy_EM, fEnergy_NC, fEnergy_wtCC, fEnergy_wtNC, fTime, fUPos, fVPos, CandReco::IsEquivalent(), CandBase::TestArrayEquality(), CandBase::TestDisplayCandBanner(), CandBase::TestEquality(), and CandBase::TestTObjArrayCandHandleDup(). Referenced by CandShowerSR::IsEquivalent(), and CandShowerEM::IsEquivalent(). 00169 {
00170 Bool_t result = true;
00171 if (!CandReco::IsEquivalent(rhs)) result = false; // superclass test
00172 TestDisplayCandBanner("CandShower");
00173 const CandShower* rCnd = dynamic_cast<const CandShower*>(rhs);
00174 if (rCnd == NULL) return false;
00175
00176 result = TestTObjArrayCandHandleDup("fClusterList",
00177 this->fClusterList,
00178 rCnd->fClusterList) && result;
00179 result = TestEquality("fEnergy", this->fEnergy,
00180 rCnd->fEnergy) && result;
00181 result = TestEquality("fEnergy_wtCC", this->fEnergy_wtCC,
00182 rCnd->fEnergy_wtCC) && result;
00183 result = TestEquality("fEnergyCC", this->fEnergy_CC,
00184 rCnd->fEnergy_CC) && result;
00185 result = TestEquality("fEnergy_wtNC", this->fEnergy_wtNC,
00186 rCnd->fEnergy_wtNC) && result;
00187 result = TestEquality("fEnergy_NC", this->fEnergy_NC,
00188 rCnd->fEnergy_NC) && result;
00189 result = TestEquality("fEnergy_EM", this->fEnergy_EM,
00190 rCnd->fEnergy_EM) && result;
00191 result = TestEquality("fUPos", this->fUPos,
00192 rCnd->fUPos) && result;
00193 result = TestEquality("fVPos", this->fVPos,
00194 rCnd->fVPos) && result;
00195 result = TestArrayEquality("fTime", 2, this->fTime,
00196 rCnd->fTime) && result;
00197 return result;
00198 }
|
|
||||||||||||
|
Reimplemented in CandShowerAtNu, CandFitShowerEM, CandShowerEM, and CandShowerSR. Definition at line 201 of file CandShower.cxx. References CandShower(). Referenced by AlgEventSRList::BuildEventFromUnassoc(), AlgEventSRList::CreatePrimaryShower(), AlgEventSRList::MergeShowers(), and AlgShowerSRList::RunAlg(). 00203 {
00204 CandShowerHandle csh;
00205 new CandShower(ah, csh, cx); // csh owns the new CandShower
00206 return csh;
00207 }
|
|
|
Definition at line 28 of file CandShower.h. Referenced by CreateLocalHandle(). |
|
|
Reimplemented in CandShowerSR. Definition at line 29 of file CandShower.h. |
|
|
Definition at line 55 of file CandShower.h. Referenced by CandShower(), FormatToOStream(), IsEquivalent(), and ~CandShower(). |
|
|
Definition at line 47 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 49 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 52 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 51 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 48 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 50 of file CandShower.h. Referenced by FormatToOStream(), and IsEquivalent(). |
|
|
Definition at line 53 of file CandShower.h. Referenced by CandShowerHandle::GetMinStripPE(), and CandShowerHandle::SetMinStripPE(). |
|
|
Definition at line 59 of file CandShower.h. Referenced by CandShower(), CandShowerHandle::ClearUVT(), FormatToOStream(), CandShowerHandle::GetT(), IsEquivalent(), and CandShowerHandle::SetT(). |
|
|
Definition at line 57 of file CandShower.h. Referenced by CandShower(), CandShowerHandle::ClearUVT(), FormatToOStream(), CandShowerHandle::GetU(), IsEquivalent(), CandShowerHandle::IsTPosValid(), and CandShowerHandle::SetU(). |
|
|
Definition at line 58 of file CandShower.h. Referenced by CandShower(), CandShowerHandle::ClearUVT(), FormatToOStream(), CandShowerHandle::GetV(), IsEquivalent(), CandShowerHandle::IsTPosValid(), and CandShowerHandle::SetV(). |
1.3.9.1