00001
00002 #include "FarDetEvent.h"
00003 #include "FarDetEventHandle.h"
00004
00005 #include "Algorithm/AlgHandle.h"
00006
00007 ClassImp(FarDetEvent)
00008
00009 FarDetEventHandle FarDetEvent::MakeCandidate(AlgHandle &ah,CandContext &cx)
00010 {
00011 FarDetEventHandle cth;
00012 new FarDetEvent(ah, cth, cx);
00013 return cth;
00014 }
00015
00016 FarDetEvent::FarDetEvent() :
00017 fMuReco(0),
00018 fEMCharge(0.0),
00019 fMuMomentumRange(0.0),
00020 fMuMomentumCurve(0.0),
00021 fMuDirCosU(0.0),
00022 fMuDirCosV(0.0),
00023 fMuDirCosZ(0.0),
00024 fShwReco(0),
00025 fShwMipsLinear(0.0),
00026 fShwMipsDeweighted(0.0),
00027 fShwEnergyGeV(0.0),
00028 fShwEnergyGeVLinear(0.0),
00029 fShwEnergyGeVDeweighted(0.0),
00030 fShwDirCosU(0.0),
00031 fShwDirCosV(0.0),
00032 fShwDirCosZ(0.0),
00033 fVtxTime(0.0),
00034 fVtxU(0.0),
00035 fVtxV(0.0),
00036 fVtxZ(0.0),
00037 fVtxPlane(-999),
00038 fMinPlane(-999),
00039 fMaxPlane(-999),
00040 fMinZ(0.0),
00041 fMaxZ(0.0)
00042 {
00043
00044 }
00045
00046 FarDetEvent::FarDetEvent(AlgHandle &ah) :
00047 CandEvent(ah),
00048 fMuReco(0),
00049 fEMCharge(0.0),
00050 fMuMomentumRange(0.0),
00051 fMuMomentumCurve(0.0),
00052 fMuDirCosU(0.0),
00053 fMuDirCosV(0.0),
00054 fMuDirCosZ(0.0),
00055 fShwReco(0),
00056 fShwMipsLinear(0.0),
00057 fShwMipsDeweighted(0.0),
00058 fShwEnergyGeV(0.0),
00059 fShwEnergyGeVLinear(0.0),
00060 fShwEnergyGeVDeweighted(0.0),
00061 fShwDirCosU(0.0),
00062 fShwDirCosV(0.0),
00063 fShwDirCosZ(0.0),
00064 fVtxTime(0.0),
00065 fVtxU(0.0),
00066 fVtxV(0.0),
00067 fVtxZ(0.0),
00068 fVtxPlane(-999),
00069 fMinPlane(-999),
00070 fMaxPlane(-999),
00071 fMinZ(0.0),
00072 fMaxZ(0.0)
00073 {
00074
00075 }
00076
00077 FarDetEvent::FarDetEvent(AlgHandle &ah, CandHandle &ch, CandContext &cx) :
00078 CandEvent(ah),
00079 fMuReco(0),
00080 fEMCharge(0.0),
00081 fMuMomentumRange(0.0),
00082 fMuMomentumCurve(0.0),
00083 fMuDirCosU(0.0),
00084 fMuDirCosV(0.0),
00085 fMuDirCosZ(0.0),
00086 fShwReco(0),
00087 fShwMipsLinear(0.0),
00088 fShwMipsDeweighted(0.0),
00089 fShwEnergyGeV(0.0),
00090 fShwEnergyGeVLinear(0.0),
00091 fShwEnergyGeVDeweighted(0.0),
00092 fShwDirCosU(0.0),
00093 fShwDirCosV(0.0),
00094 fShwDirCosZ(0.0),
00095 fVtxTime(0.0),
00096 fVtxU(0.0),
00097 fVtxV(0.0),
00098 fVtxZ(0.0),
00099 fVtxPlane(-999),
00100 fMinPlane(-999),
00101 fMaxPlane(-999),
00102 fMinZ(0.0),
00103 fMaxZ(0.0)
00104 {
00105 SetLocalHandle(new FarDetEventHandle(this));
00106 { FarDetEventHandle cth(this); ch = cth; }
00107 ah.RunAlg(ch, cx);
00108 }
00109
00110 FarDetEvent::FarDetEvent(const FarDetEvent &rhs) :
00111 CandEvent(rhs),
00112 fMuReco(rhs.fMuReco),
00113 fEMCharge(rhs.fEMCharge),
00114 fMuMomentumRange(rhs.fMuMomentumRange),
00115 fMuMomentumCurve(rhs.fMuMomentumCurve),
00116 fMuDirCosU(rhs.fMuDirCosU),
00117 fMuDirCosV(rhs.fMuDirCosV),
00118 fMuDirCosZ(rhs.fMuDirCosZ),
00119 fShwReco(rhs.fShwReco),
00120 fShwMipsLinear(rhs.fShwMipsLinear),
00121 fShwMipsDeweighted(rhs.fShwMipsDeweighted),
00122 fShwEnergyGeV(rhs.fShwEnergyGeV),
00123 fShwEnergyGeVLinear(rhs.fShwEnergyGeVLinear),
00124 fShwEnergyGeVDeweighted(rhs.fShwEnergyGeVDeweighted),
00125 fShwDirCosU(rhs.fShwDirCosU),
00126 fShwDirCosV(rhs.fShwDirCosV),
00127 fShwDirCosZ(rhs.fShwDirCosZ),
00128 fVtxTime(rhs.fVtxTime),
00129 fVtxU(rhs.fVtxU),
00130 fVtxV(rhs.fVtxV),
00131 fVtxZ(rhs.fVtxZ),
00132 fVtxPlane(rhs.fVtxPlane),
00133 fMinPlane(rhs.fMinPlane),
00134 fMaxPlane(rhs.fMaxPlane),
00135 fMinZ(rhs.fMinZ),
00136 fMaxZ(rhs.fMaxZ)
00137 {
00138
00139 }
00140
00141 FarDetEvent::~FarDetEvent()
00142 {
00143
00144 }
00145
00146 FarDetEvent* FarDetEvent::Dup() const
00147 {
00148 FarDetEvent *cb = new FarDetEvent(*this);
00149 cb->CreateLocalHandle();
00150 TIter iterdau = GetDaughterIterator();
00151 CandHandle *dau;
00152 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau);
00153 return cb;
00154 }
00155
00156 void FarDetEvent::CreateLocalHandle()
00157 {
00158 this->SetLocalHandle(new FarDetEventHandle(this));
00159 }