00001
00013 #ifndef StTinyMcTrack_H
00014 #define StTinyMcTrack_H
00015
00016 #include "TObject.h"
00017 #include <cmath>
00018
00019 class StTinyMcTrack : public TObject {
00020 public:
00021 StTinyMcTrack();
00022 virtual ~StTinyMcTrack() {}
00023
00024 void setPtMc(Float_t val) { mPtMc=val; }
00025 void setPzMc(Float_t val) { mPzMc=val; }
00026 void setEtaMc(Float_t val) { mEtaMc=val; }
00027 void setPhiMc(Float_t val) { mPhiMc=val; }
00028 void setNHitMc(Short_t val) { mNHitMc=val; }
00029 void setNSvtHitMc(Short_t val) { mNSvtHitMc=val; }
00030 void setNSsdHitMc(Short_t val) { mNSsdHitMc=val; }
00031 void setNFtpcHitMc(Short_t val) { mNFtpcHitMc=val; }
00032 void setNBemcHitMc(Short_t val) { mNBemcHitMc=val; }
00033 void setNBprsHitMc(Short_t val) { mNBprsHitMc=val; }
00034 void setNBsmdeHitMc(Short_t val) { mNBsmdeHitMc=val; }
00035 void setNBsmdpHitMc(Short_t val) { mNBsmdpHitMc=val; }
00036 void setNEemcHitMc(Short_t val) { mNEemcHitMc=val; }
00037 void setNEprsHitMc(Short_t val) { mNEprsHitMc=val; }
00038 void setNEsmduHitMc(Short_t val) { mNEsmduHitMc=val; }
00039 void setNEsmdvHitMc(Short_t val) { mNEsmdvHitMc=val; }
00040 void setGeantId(int val);
00041 void setPdgId(int val) { mPdgId = val; }
00042 void setChargeMc(Short_t val) { mChargeMc= val; }
00043 void setNAssocGl(Short_t val) { mNAssocGl= val; }
00044 void setNAssocPr(Short_t val) { mNAssocPr= val; }
00045 void setStopR(Float_t val) { mStopR=val; }
00046 void setKey(Short_t val) { mKey=val; }
00047 void setPrimary(Bool_t val) { mIsPrimary = val;}
00048 void setValid() {mIsValid = 1;}
00049 void setParentKey(Short_t val) { mParentKey=val; }
00050 void setParentGeantId(int val);
00051 void setEmcEnergyMcHit(Float_t val,size_t index) {if (index<3) mEmcEnergyMcHit[index]=val;}
00052 void setEmcEnergyMcSum(Float_t val) {mEmcEnergyMcSum=val;}
00053 void setEmcSoftIdHiTowerMc(Short_t val,size_t index) {if (index<3) mEmcSoftIdHiTowerMc[index]=val;}
00054
00055 float ptMc() const { return mPtMc; }
00056 float pxMc() const { return mPtMc*cos(mPhiMc); }
00057 float pyMc() const { return mPtMc*sin(mPhiMc); }
00058 float pzMc() const { return mPzMc; }
00059 float pMc() const { return ::sqrt((mPtMc*mPtMc)+(mPzMc*mPzMc)); }
00060 float etaMc() const { return mEtaMc; }
00061 float phiMc() const { return mPhiMc; }
00062 short nHitMc() const { return mNHitMc; }
00063 short nSvtHitMc() const { return mNSvtHitMc; }
00064 short nSsdHitMc() const { return mNSsdHitMc; }
00065 short nFtpcHitMc() const { return mNFtpcHitMc; }
00066 short nBemcHitMc() const { return mNBemcHitMc; }
00067 short nBprsHitMc() const { return mNBprsHitMc; }
00068 short nBsmdeHitMc() const { return mNBsmdeHitMc; }
00069 short nBsmdpHitMc() const { return mNBsmdpHitMc; }
00070 short nEemcHitMc() const { return mNEemcHitMc; }
00071 short nEprsHitMc() const { return mNEprsHitMc; }
00072 short nEsmduHitMc() const { return mNEsmduHitMc; }
00073 short nEsmdvHitMc() const { return mNEsmdvHitMc; }
00074 int geantId() const { return mGeantId; }
00075 short chargeMc() const { return mChargeMc; }
00076 short nAssocGl() const { return mNAssocGl; }
00077 short nAssocPr() const { return mNAssocPr; }
00078 float stopR() const { return mStopR; }
00079 short key() const { return mKey; }
00080 Bool_t isPrimary() const {return mIsPrimary;}
00081 Bool_t isValid() {return mIsValid;}
00082 virtual void Print(Option_t *option="") const;
00083 short parentKey() const { return mParentKey; }
00084 int parentGeantId() const { return mParentGeantId; }
00085 float emcEnergyMcHit(size_t index) const { if (index<3) return mEmcEnergyMcHit[index]; else return -999;}
00086 float emcEnergyMcSum() const { return mEmcEnergyMcSum; }
00087 short emcSoftIdHiTowerMc(size_t index) const { if (index<3) return mEmcSoftIdHiTowerMc[index]; else return -999; }
00088 private:
00089
00090
00091 Char_t mIsValid;
00092 Float_t mPtMc;
00093 Float_t mPzMc;
00094 Float_t mEtaMc;
00095 Float_t mPhiMc;
00096 Short_t mNHitMc;
00097 Short_t mNSvtHitMc;
00098 Short_t mNSsdHitMc;
00099 Short_t mNFtpcHitMc;
00100 Short_t mNBemcHitMc;
00101 Short_t mNBprsHitMc;
00102 Short_t mNBsmdeHitMc;
00103 Short_t mNBsmdpHitMc;
00104 Short_t mNEemcHitMc;
00105 Short_t mNEprsHitMc;
00106 Short_t mNEsmduHitMc;
00107 Short_t mNEsmdvHitMc;
00108 UShort_t mGeantId;
00109 Int_t mPdgId;
00110 Short_t mChargeMc;
00111 Float_t mStopR;
00112 Short_t mKey;
00113 Short_t mParentKey;
00114 UShort_t mParentGeantId;
00115 Float_t mEmcEnergyMcHit[3];
00116 Float_t mEmcEnergyMcSum;
00117 Short_t mEmcSoftIdHiTowerMc[3];
00118
00119
00120 Short_t mNAssocGl;
00121 Short_t mNAssocPr;
00122 Bool_t mIsPrimary;
00123
00124 ClassDef(StTinyMcTrack,6)
00125 };
00126
00127 #endif
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180