00001
00002
00003
00004
00005
00006
00007
00008 #include "Algorithm/AlgHandle.h"
00009 #include "CalDetSI/CandCalDetSI.h"
00010 #include "CalDetSI/CandCalDetSIHandle.h"
00011 #include "MessageService/MsgService.h"
00012
00013 ClassImp(CandCalDetSI)
00014
00015 CVSID("$ID: CandCalDetSI.cxx, v 1 2002/01/08 00:00:00 vahle Exp$");
00016
00017
00018 CandCalDetSI::CandCalDetSI():
00019 fIsSnarlRecord(kTRUE),
00020 fTriggerPMT(kFALSE),
00021 fCosmicCnt(kFALSE),
00022 fFafErr(kFALSE),
00023 fSparseErr(kFALSE),
00024 fSnarl(-1),
00025 fTrigSource(0),
00026 fKovADC1(0),
00027 fKovTimeStamp1(0),
00028 fKovADC2(0),
00029 fKovTimeStamp2(0),
00030 fKovADC3(0),
00031 fKovTimeStamp3(0),
00032 fSnarlTimeFrame(0),
00033 fSnarlMinTimeStamp(640000000),
00034 fSnarlMaxTimeStamp(0),
00035 fTofTDC0(0),
00036 fTofTDC1(0),
00037 fTofTDC2(0),
00038 fTofADC0(0),
00039 fTofADC1(0),
00040 fTofADC2(0),
00041 fTofADCTimeStamp0(0),
00042 fTofADCTimeStamp1(0),
00043 fTofADCTimeStamp2(0),
00044 fTofTimeStamp(0),
00045 fTickSinceLast(0),
00046 fDeadChips(),
00047 fUnderShootChips(),
00048
00049 fCerenkovChannel1(),
00050 fCerenkovChannel2(),
00051 fCerenkovChannel3(),
00052 fTriggerORBits(0), fTriggerOROK(kFALSE)
00053
00054 {
00055 }
00056
00057
00058
00059
00060 CandCalDetSI::CandCalDetSI(AlgHandle &ah):
00061 CandBase(ah),
00062
00063 fIsSnarlRecord(kTRUE),
00064 fTriggerPMT(kFALSE),
00065 fCosmicCnt(kFALSE),
00066 fFafErr(kFALSE),
00067 fSparseErr(kFALSE),
00068 fSnarl(-1),
00069 fTrigSource(0),
00070 fKovADC1(0),
00071 fKovTimeStamp1(0),
00072 fKovADC2(0),
00073 fKovTimeStamp2(0),
00074 fKovADC3(0),
00075 fKovTimeStamp3(0),
00076 fSnarlTimeFrame(0),
00077 fTofTDC0(0),
00078 fTofTDC1(0),
00079 fTofTDC2(0),
00080 fTofADC0(0),
00081 fTofADC1(0),
00082 fTofADC2(0),
00083 fTofADCTimeStamp0(0),
00084 fTofADCTimeStamp1(0),
00085 fTofADCTimeStamp2(0),
00086 fTofTimeStamp(0),
00087 fTickSinceLast(0),
00088 fDeadChips(),
00089 fUnderShootChips(),
00090
00091 fCerenkovChannel1(),
00092 fCerenkovChannel2(),
00093 fCerenkovChannel3(),
00094 fTriggerORBits(0), fTriggerOROK(kFALSE)
00095 {
00096
00097
00098
00099 }
00100
00101
00102
00103 CandCalDetSI::CandCalDetSI(AlgHandle &ah, CandHandle &ch, CandContext &cx):
00104
00105 CandBase(ah),
00106
00107 fIsSnarlRecord(kTRUE),
00108 fTriggerPMT(kFALSE),
00109 fCosmicCnt(kFALSE),
00110 fFafErr(kFALSE),
00111 fSparseErr(kFALSE),
00112 fSnarl(-1),
00113 fTrigSource(0),
00114 fKovADC1(0),
00115 fKovTimeStamp1(0),
00116 fKovADC2(0),
00117 fKovTimeStamp2(0),
00118 fKovADC3(0),
00119 fKovTimeStamp3(0),
00120 fSnarlTimeFrame(0),
00121 fTofTDC0(0),
00122 fTofTDC1(0),
00123 fTofTDC2(0),
00124 fTofADC0(0),
00125 fTofADC1(0),
00126 fTofADC2(0),
00127 fTofADCTimeStamp0(0),
00128 fTofADCTimeStamp1(0),
00129 fTofADCTimeStamp2(0),
00130 fTofTimeStamp(0),
00131
00132 fTickSinceLast(0),
00133 fDeadChips(),
00134 fUnderShootChips(),
00135
00136 fCerenkovChannel1(),
00137 fCerenkovChannel2(),
00138 fCerenkovChannel3(),
00139 fTriggerORBits(0), fTriggerOROK(kFALSE)
00140
00141 {
00142
00143
00144
00145 CreateLocalHandle();
00146
00147 MSG("Cand", Msg::kDebug)
00148 << "Begin CandDigit::CandDigit(AlgHandle &, CandHandle &, "
00149 << "CandContext &) ctor: " << endl
00150 << "UidInt = " << GetUidInt()
00151 << ", ArchUidInt " << GetArchUidInt() << endl
00152 << "No. of links = " << GetNLinks() << endl
00153 << "End CandDigit::CandDigit(AlgHandle &, CandHandle &, "
00154 << "CandContext &) ctor." << endl;
00155
00156
00157 {
00158 CandCalDetSIHandle cdh(this);
00159 ch = cdh;
00160 }
00161 ah.RunAlg(ch, cx);
00162 }
00163
00164
00165
00166 CandCalDetSI::CandCalDetSI(const CandCalDetSI &csi):
00167 CandBase(csi),
00168
00169 fIsSnarlRecord(csi.fIsSnarlRecord),
00170 fTriggerPMT(csi.fTriggerPMT),
00171 fCosmicCnt(csi.fCosmicCnt),
00172 fFafErr(csi.fFafErr),
00173 fSparseErr(csi.fSparseErr),
00174 fSnarl(csi.fSnarl),
00175 fTrigSource(csi.fTrigSource),
00176 fKovADC1(csi.fKovADC1),
00177 fKovTimeStamp1(csi.fKovTimeStamp1),
00178 fKovADC2(csi.fKovADC2),
00179 fKovTimeStamp2(csi.fKovTimeStamp2),
00180 fKovADC3(csi.fKovADC3),
00181 fKovTimeStamp3(csi.fKovTimeStamp3),
00182 fSnarlTimeFrame(0),
00183 fTofTDC0(csi.fTofTDC0),
00184 fTofTDC1(csi.fTofTDC1),
00185 fTofTDC2(csi.fTofTDC2),
00186 fTofADC0(csi.fTofADC0),
00187 fTofADC1(csi.fTofADC1),
00188 fTofADC2(csi.fTofADC2),
00189 fTofADCTimeStamp0(csi.fTofADCTimeStamp0),
00190 fTofADCTimeStamp1(csi.fTofADCTimeStamp1),
00191 fTofADCTimeStamp2(csi.fTofADCTimeStamp2),
00192 fTofTimeStamp(csi.fTofTimeStamp),
00193
00194 fTickSinceLast(csi.fTickSinceLast),
00195 fDeadChips(csi.fDeadChips),
00196 fUnderShootChips(csi.fUnderShootChips),
00197 fCerenkovChannel1(csi.fCerenkovChannel1),
00198 fCerenkovChannel2(csi.fCerenkovChannel2),
00199 fCerenkovChannel3(csi.fCerenkovChannel3),
00200 fTriggerORBits(csi.fTriggerORBits), fTriggerOROK(csi.fTriggerOROK)
00201
00202 {
00203 MSG("Cand", Msg::kDebug)
00204 << "Begin CandDigit::CandDigit(const CandDigit &rhs) ctor: " << endl
00205 << "UidInt = " << GetUidInt()
00206 << ", ArchUidInt " << GetArchUidInt() << endl
00207 << "No. of links = " << GetNLinks() << endl
00208 << "End CandDigit::CandDigit(const CandDigit &rhs) ctor." << endl;
00209 }
00210
00211
00212
00213 CandCalDetSI::~CandCalDetSI() {}
00214
00215
00216
00217 void CandCalDetSI::CreateLocalHandle()
00218 {
00219
00220 SetLocalHandle(new CandCalDetSIHandle(this));
00221
00222 }
00223
00224
00225
00226 CandCalDetSI *CandCalDetSI::Dup() const
00227 {
00228
00229
00230
00231
00232
00233 CandCalDetSI *cb = new CandCalDetSI(*this);
00234 cb->CreateLocalHandle();
00235 TIter iterdau = GetDaughterIterator();
00236 CandHandle *dau;
00237 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00238 return cb;
00239
00240 }
00241
00242
00243
00244 CandCalDetSIHandle CandCalDetSI::MakeCandidate(AlgHandle &ah, CandContext &cx)
00245 {
00246
00247 CandCalDetSIHandle cdh;
00248 new CandCalDetSI(ah, cdh, cx);
00249 return cdh;
00250
00251 }
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270