00001 00002 // 00003 // "$Id: CandCalDetPIDHandle.cxx,v 1.5 2003/10/17 08:37:30 vahle Exp $" 00004 // 00005 // CandCalDetPID 00006 // 00007 // Package: CalDetPID 00008 // 00009 // Handle for A Candidate to hold the result of a PID decision for CalDet 00010 // 00011 // Contact: kordosky@hep.utexas.edu 00012 // 00013 // Created on: Sun Apr 27 11:52:34 CDT 2003 00014 // (generated by kordosky@unknown with init-cand-alg.pl) 00015 // 00017 00018 00019 00020 #include "CalDetPID/CandCalDetPIDHandle.h" 00021 00022 //#include <string> 00023 00024 #include "MessageService/MsgService.h" 00025 00026 CVSID("$Id: CandCalDetPIDHandle.cxx,v 1.5 2003/10/17 08:37:30 vahle Exp $"); 00027 00028 CandCalDetPIDHandle::CandCalDetPIDHandle() 00029 { 00030 MSG("CalDetPID",Msg::kDebug) 00031 << "CandCalDetPIDHandle default ctor called" << endl; 00032 } 00033 00034 CandCalDetPIDHandle::CandCalDetPIDHandle(const CandCalDetPIDHandle& handle) 00035 : CandHandle(handle) 00036 { 00037 } 00038 CandCalDetPIDHandle::CandCalDetPIDHandle(CandCalDetPID* candidate) 00039 : CandHandle(candidate) 00040 { 00041 } 00042 CandCalDetPIDHandle::~CandCalDetPIDHandle() 00043 { 00044 } 00045 00046 CandCalDetPIDHandle* CandCalDetPIDHandle::DupHandle() const 00047 { 00048 return new CandCalDetPIDHandle(*this); 00049 } 00050 00051 00052 // Implement interface methods here 00053 00054 UInt_t CandCalDetPIDHandle::GetPIDType() const 00055 { 00056 const CandCalDetPID* pid = 00057 static_cast<const CandCalDetPID*>(GetCandBase()); 00058 return pid->fPIDType; 00059 } 00060 00061 void CandCalDetPIDHandle::SetPIDType(UInt_t p) 00062 { 00063 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00064 pid->fPIDType=p; 00065 } 00066 00067 Bool_t CandCalDetPIDHandle::NoOverlap() const 00068 { 00069 const CandCalDetPID* pid = 00070 static_cast<const CandCalDetPID*>(GetCandBase()); 00071 return pid->fNoOverlap; 00072 } 00073 00074 void CandCalDetPIDHandle::SetNoOverlap(Bool_t v) 00075 { 00076 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00077 pid->fNoOverlap=v; 00078 } 00079 00080 Bool_t CandCalDetPIDHandle::InCERTime() const 00081 { 00082 const CandCalDetPID* pid = 00083 static_cast<const CandCalDetPID*>(GetCandBase()); 00084 return pid->fInCERTime; 00085 } 00086 00087 void CandCalDetPIDHandle::SetInCERTime(Bool_t v) 00088 { 00089 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00090 pid->fInCERTime=v; 00091 } 00092 00093 UInt_t CandCalDetPIDHandle::GetNoOverlapBits() const 00094 { 00095 const CandCalDetPID* pid = 00096 static_cast<const CandCalDetPID*>(GetCandBase()); 00097 return pid->fNoOverlapBits; 00098 } 00099 00100 void CandCalDetPIDHandle::SetNoOverlapBits(UInt_t p) 00101 { 00102 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00103 pid->fNoOverlapBits=p; 00104 } 00105 00106 00107 UInt_t CandCalDetPIDHandle::GetInCERTimeBits() const 00108 { 00109 const CandCalDetPID* pid = 00110 static_cast<const CandCalDetPID*>(GetCandBase()); 00111 return pid->fInCERTimeBits; 00112 } 00113 00114 void CandCalDetPIDHandle::SetInCERTimeBits(UInt_t p) 00115 { 00116 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00117 pid->fInCERTimeBits=p; 00118 } 00119 00120 Float_t CandCalDetPIDHandle::GetOLChi2() const 00121 { 00122 const CandCalDetPID* pid = static_cast<const CandCalDetPID*>(GetCandBase()); 00123 return pid->fOLChi2; 00124 } 00125 00126 void CandCalDetPIDHandle::SetOLChi2(Float_t c) 00127 { 00128 CandCalDetPID* pid = static_cast<CandCalDetPID*>(GetCandBase()); 00129 pid->fOLChi2 = c; 00130 } 00131 00132 Bool_t CandCalDetPIDHandle::IsA(const CalDetParticleType::CalDetParticleType_t& p) const 00133 { 00134 Int_t t = GetPIDType(); 00135 Bool_t result = kFALSE; 00136 if(t&p) result=kTRUE; 00137 return result; 00138 } 00139 00140 std::string CandCalDetPIDHandle::AsString() const 00141 { 00142 Int_t t = GetPIDType(); 00143 std::string s = CalDetParticleType::AsString(t); 00144 if(NoOverlap()==false) s+=" (OVERLAP)"; 00145 if(InCERTime()==false) s+=" (!INCERTIME)"; 00146 return s; 00147 } 00148 00149 00150 ClassImp(CandCalDetPIDHandle) 00151 00152 00153 00154 00155 00156
1.3.9.1