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

Definition at line 23 of file CandDeMuxDigitList.h.
| kDeMuxOK | |
| kNoVertex | |
| kTooFewValidPlanes | |
| kNonPhysicalStripSolution | |
| kEventFailedFilter | |
| kEventFailedFilterUViewOnly | |
| kEventFailedFilterVViewOnly | |
| kMultipleMuonEvent |
Definition at line 29 of file CandDeMuxDigitList.h.
00029 { 00030 kDeMuxOK = 0x00, 00031 kNoVertex = 0x01, 00032 kTooFewValidPlanes = 0x02, 00033 kNonPhysicalStripSolution = 0x04, 00034 kEventFailedFilter = 0x08, 00035 kEventFailedFilterUViewOnly = 0x10, 00036 kEventFailedFilterVViewOnly = 0x20, 00037 kMultipleMuonEvent = 0x40 00038 } DeMuxDigitListFlag_t;
| CandDeMuxDigitList::CandDeMuxDigitList | ( | ) |
Definition at line 30 of file CandDeMuxDigitList.cxx.
References Msg::kDebug, and MSG.
Referenced by Dup(), and MakeCandidate().
00030 : 00031 fDeMuxDigitListFlag(0) 00032 , fNumValidPlanesU(0) 00033 , fNumValidPlanesV(0) 00034 , fNumStrayPlanesU(0) 00035 , fNumStrayPlanesV(0) 00036 , fAvgTimeOffset(0.) 00037 { 00038 MSG("Cand", Msg::kDebug) 00039 << "Begin CandDeMuxDigitList::CandDeMuxDigitList() ctor: " << endl 00040 << "UidInt = " << GetUidInt() 00041 << ", ArchUidInt " << GetArchUidInt() << endl 00042 << "No. of links = " << GetNLinks() << endl 00043 << "End CandDeMuxDigitList::CandDeMuxDigitList() ctor." << endl; 00044 }
| CandDeMuxDigitList::CandDeMuxDigitList | ( | AlgHandle & | ah | ) | [protected] |
Definition at line 47 of file CandDeMuxDigitList.cxx.
00047 : 00048 CandDigitList(ah) // Should be the next class up on inheritance chain 00049 , fDeMuxDigitListFlag(0) 00050 , fNumValidPlanesU(0) 00051 , fNumValidPlanesV(0) 00052 , fNumStrayPlanesU(0) 00053 , fNumStrayPlanesV(0) 00054 , fAvgTimeOffset(0.) 00055 { 00056 00057 // The sole purpose of this constructor is to transmit the AlgHandle 00058 // up the inheritance chain to CandBase without having to invoke the 00059 // full constructor of an intermediate Candidate type which the highest 00060 // level Candidate might inherit from. One only wants to create the 00061 // LocalHandle and invoke the RunAlg() method in the lowest level class. 00062 00063 }
| CandDeMuxDigitList::CandDeMuxDigitList | ( | AlgHandle & | ah, | |
| CandHandle & | ch, | |||
| CandContext & | cx | |||
| ) | [protected] |
Definition at line 66 of file CandDeMuxDigitList.cxx.
References CreateLocalHandle(), CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, MSG, and AlgHandle::RunAlg().
00067 : 00068 CandDigitList(ah) // Should be the next class up on inheritance chain 00069 , fDeMuxDigitListFlag(0) 00070 , fNumValidPlanesU(0) 00071 , fNumValidPlanesV(0) 00072 , fNumStrayPlanesU(0) 00073 , fNumStrayPlanesV(0) 00074 , fAvgTimeOffset(0.) 00075 { 00076 CreateLocalHandle(); 00077 MSG("Cand", Msg::kDebug) 00078 << "Begin CandDeMuxDigitList::CandDeMuxDigitList(AlgHandle &, CandHandle &, " 00079 << "CandContext& ) ctor: " << endl 00080 << "UidInt = " << GetUidInt() 00081 << ", ArchUidInt " << GetArchUidInt() << endl 00082 << "No. of links = " << GetNLinks() << endl 00083 << "End CandDeMuxDigitList::CandDeMuxDigitList(AlgHandle &, CandHandle &, " 00084 << "CandContext& ) ctor: " << endl; 00085 00086 // Run Algorithm to construct Candidate 00087 { // Start of scope. 00088 CandDeMuxDigitListHandle cdlh(this); // cdlh will go out of scope 00089 ch = cdlh; // after setting ch. 00090 } // End of scope. 00091 ah.RunAlg(ch, cx); 00092 }
| CandDeMuxDigitList::CandDeMuxDigitList | ( | const CandDeMuxDigitList & | rhs | ) | [protected] |
Definition at line 95 of file CandDeMuxDigitList.cxx.
References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.
00095 : 00096 CandDigitList(rhs) // Should be the next class up on inheritance chain 00097 , fDeMuxDigitListFlag(rhs.fDeMuxDigitListFlag) 00098 , fNumValidPlanesU(rhs.fNumValidPlanesU) 00099 , fNumValidPlanesV(rhs.fNumValidPlanesV) 00100 , fNumStrayPlanesU(rhs.fNumStrayPlanesU) 00101 , fNumStrayPlanesV(rhs.fNumStrayPlanesV) 00102 , fAvgTimeOffset(rhs.fAvgTimeOffset) 00103 { 00104 MSG("Cand", Msg::kDebug) 00105 << "Begin CandDeMuxDigitList::CandDeMuxDigitList(const CandDeMuxDigitList &) " 00106 << "ctor: " << endl 00107 << "UidInt = " << GetUidInt() 00108 << ", ArchUidInt " << GetArchUidInt() << endl 00109 << "No. of links = " << GetNLinks() << endl 00110 << "End CandDeMuxDigitList::CandDeMuxDigitList(const CandDeMuxDigitList &) ctor." 00111 << endl; 00112 }
| CandDeMuxDigitList::~CandDeMuxDigitList | ( | ) | [protected, virtual] |
Definition at line 115 of file CandDeMuxDigitList.cxx.
References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), Msg::kDebug, and MSG.
00116 { 00117 MSG("Cand", Msg::kDebug) 00118 << "Begin CandDeMuxDigitList::~CandDeMuxDigitList() " << "dtor: " 00119 << endl 00120 << "UidInt = " << GetUidInt() 00121 << ", ArchUidInt " << GetArchUidInt() << endl 00122 << "No. of links = " << GetNLinks() << endl 00123 << "End CandDeMuxDigitList::~CandDeMuxDigitList() dtor." << endl; 00124 }
| const char * CandDeMuxDigitList::AsString | ( | DeMuxDigitListFlag_t | ) | [static] |
Definition at line 225 of file CandDeMuxDigitList.cxx.
References Form(), kDeMuxOK, kEventFailedFilter, kEventFailedFilterUViewOnly, kEventFailedFilterVViewOnly, kMultipleMuonEvent, kNonPhysicalStripSolution, kNoVertex, and kTooFewValidPlanes.
Referenced by FormatToOStream().
00226 { 00227 00228 if (dlflag == kDeMuxOK) return "=DeMuxOKList="; 00229 00230 std::string result("="); 00231 if (dlflag & kNoVertex ) result += "NoVertex,"; 00232 if (dlflag & kTooFewValidPlanes ) result += "TooFewValidPlanes,"; 00233 if (dlflag & kNonPhysicalStripSolution ) result += "NonPhysicalStripSolution,"; 00234 if (dlflag & kEventFailedFilter ) result += "EventFailedFilter,"; 00235 if (dlflag & kEventFailedFilterUViewOnly) result += "EventFailedFilterUViewOnly,"; 00236 if (dlflag & kEventFailedFilterVViewOnly) result += "EventFailedFilterVViewOnly,"; 00237 if (dlflag & kMultipleMuonEvent ) result += "MultipleMuonEvent,"; 00238 00239 static Int_t unknownBits = 00240 ~(kNoVertex| 00241 kTooFewValidPlanes| 00242 kNonPhysicalStripSolution| 00243 kEventFailedFilter| 00244 kEventFailedFilterUViewOnly| 00245 kEventFailedFilterVViewOnly| 00246 kMultipleMuonEvent); 00247 if ( dlflag & unknownBits ) return Form("0x%8.8x",dlflag); // dump hex if unknown bits 00248 00249 // replace trailing ',' with = delimiter 00250 result.replace(result.size()-1,1,"="); 00251 return Form("%s",result.c_str()); 00252 }
| void CandDeMuxDigitList::CreateLocalHandle | ( | ) | [protected, virtual] |
Reimplemented from CandDigitList.
Definition at line 127 of file CandDeMuxDigitList.cxx.
References CandDeMuxDigitListHandle, and CandBase::SetLocalHandle().
Referenced by CandDeMuxDigitList(), and Dup().
00128 { 00129 SetLocalHandle(new CandDeMuxDigitListHandle(this)); 00130 }
| CandDeMuxDigitList * CandDeMuxDigitList::Dup | ( | ) | const [protected, virtual] |
Reimplemented from CandDigitList.
Definition at line 133 of file CandDeMuxDigitList.cxx.
References CandBase::AddDaughterLink(), CandDeMuxDigitList(), CreateLocalHandle(), and CandBase::GetDaughterIterator().
00134 { 00135 00136 // Base copy ctor dups owned pointers, but defers copying Daughter List. 00137 // Daughter List copy is made in the derived class Dup() function. 00138 // This is because base class copy constructor hasn't yet created 00139 // fLocalHandle with a CandHandle* of the full derived type. 00140 // Copy-ctor dups ptrs 00141 CandDeMuxDigitList *cb = new CandDeMuxDigitList(*this); 00142 cb->CreateLocalHandle(); // Initializes fLocalHandle after copy-ctor 00143 TIter iterdau = GetDaughterIterator(); 00144 CandHandle *dau; 00145 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau); 00146 return cb; 00147 }
| std::ostream & CandDeMuxDigitList::FormatToOStream | ( | std::ostream & | os, | |
| Option_t * | option | |||
| ) | const [virtual] |
Reimplemented from CandDigitList.
Definition at line 192 of file CandDeMuxDigitList.cxx.
References AsString(), fAvgTimeOffset, fDeMuxDigitListFlag, fNumStrayPlanesU, fNumStrayPlanesV, fNumValidPlanesU, fNumValidPlanesV, CandDigitList::FormatToOStream(), CandBase::GetDataIndent(), and CandBase::GetIndentString().
00194 { 00195 CandDigitList::FormatToOStream(os,option); 00196 00197 TString opt(option); 00198 if (!opt.Contains("v0")) { // v0 means suppress the data values 00199 const TString& indent = GetIndentString(); 00200 00201 static MsgFormat i4("i4"); 00202 static MsgFormat timefmt("f18.9"); 00203 00204 os << indent << GetDataIndent() 00205 << "NValidPlanes U: " << i4(fNumValidPlanesU) 00206 << " V: " << i4(fNumValidPlanesV) 00207 << " NStrayPlanes U: " << i4(fNumStrayPlanesU) 00208 << " V: " << i4(fNumStrayPlanesV) 00209 << endl; 00210 00211 CandDeMuxDigitList::DeMuxDigitListFlag_t dlflag = 00212 (CandDeMuxDigitList::DeMuxDigitListFlag_t)fDeMuxDigitListFlag; 00213 00214 os << indent << GetDataIndent() 00215 << "AvgTimeOffset " << timefmt(fAvgTimeOffset) 00216 << " FlagWord " 00217 << CandDeMuxDigitList::AsString(dlflag) 00218 << endl; 00219 }; 00220 return os; 00221 00222 }
| Bool_t CandDeMuxDigitList::IsEquivalent | ( | const TObject * | rhs | ) | const [protected, virtual] |
Reimplemented from CandDigitList.
Definition at line 150 of file CandDeMuxDigitList.cxx.
References fAvgTimeOffset, fDeMuxDigitListFlag, fNumStrayPlanesU, fNumStrayPlanesV, fNumValidPlanesU, fNumValidPlanesV, CandDigitList::IsEquivalent(), CandBase::TestDisplayCandBanner(), and CandBase::TestEquality().
00151 { 00152 Bool_t result = true; 00153 if (!CandDigitList::IsEquivalent(rhs)) result = false; // superclass 00154 TestDisplayCandBanner("CandDeMuxDigitList"); 00155 const CandDeMuxDigitList* rCnd = 00156 dynamic_cast<const CandDeMuxDigitList*>(rhs); 00157 if (rCnd == NULL) return false; 00158 00159 result = TestEquality("fDeMuxDigitListFlag", 00160 this->fDeMuxDigitListFlag, 00161 rCnd->fDeMuxDigitListFlag) && result; 00162 result = TestEquality("fNumValidPlanesU", 00163 this->fNumValidPlanesU, 00164 rCnd->fNumValidPlanesU) && result; 00165 result = TestEquality("fNumValidPlanesV", 00166 this->fNumValidPlanesV, 00167 rCnd->fNumValidPlanesV) && result; 00168 result = TestEquality("fNumStrayPlanesU", 00169 this->fNumStrayPlanesU, 00170 rCnd->fNumStrayPlanesU) && result; 00171 result = TestEquality("fNumStrayPlanesV", 00172 this->fNumStrayPlanesV, 00173 rCnd->fNumStrayPlanesV) && result; 00174 result = TestEquality("fAvgTimeOffset", 00175 this->fAvgTimeOffset, 00176 rCnd->fAvgTimeOffset) && result; 00177 00178 return result; 00179 }
| CandDeMuxDigitListHandle CandDeMuxDigitList::MakeCandidate | ( | AlgHandle & | ah, | |
| CandContext & | cx | |||
| ) | [static] |
Reimplemented from CandDigitList.
Definition at line 182 of file CandDeMuxDigitList.cxx.
References CandDeMuxDigitList().
Referenced by DeMuxDigitListModule::Reco().
00184 { 00185 00186 //cdlh owns new CandDeMuxDigitList 00187 CandDeMuxDigitListHandle cdlh; 00188 new CandDeMuxDigitList(ah, cdlh, cx); return cdlh; 00189 }
friend class CandDeMuxDigitListHandle [friend] |
Float_t CandDeMuxDigitList::fAvgTimeOffset [protected] |
Definition at line 55 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
Int_t CandDeMuxDigitList::fDeMuxDigitListFlag [protected] |
Definition at line 50 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
Int_t CandDeMuxDigitList::fNumStrayPlanesU [protected] |
Definition at line 53 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
Int_t CandDeMuxDigitList::fNumStrayPlanesV [protected] |
Definition at line 54 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
Int_t CandDeMuxDigitList::fNumValidPlanesU [protected] |
Definition at line 51 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
Int_t CandDeMuxDigitList::fNumValidPlanesV [protected] |
Definition at line 52 of file CandDeMuxDigitList.h.
Referenced by FormatToOStream(), and IsEquivalent().
1.4.7