00001
00009 #ifndef STAR_StV0Mc
00010 #define STAR_StV0Mc
00011 #include "StV0I.hh"
00012 #include "StStrangeMuDst.hh"
00013
00014 class StMcVertex;
00015 class StMcTrack;
00016
00017 class StV0Mc : public StStrangeMuDst, public virtual StV0I {
00018
00019 public:
00020 StV0Mc();
00021 StV0Mc(StMcVertex*, StMcTrack*, StMcTrack*, StStrangeEvMuDst*);
00022 ~StV0Mc();
00023
00024 Int_t decayMode() const;
00025 Int_t geantIdParent() const;
00026 Int_t geantIdPositive() const;
00027 Int_t geantIdNegative() const;
00028 Float_t parentMomentumX() const;
00029 Float_t parentMomentumY() const;
00030 Float_t parentMomentumZ() const;
00031 Float_t positiveMomentumX() const;
00032 Float_t positiveMomentumY() const;
00033 Float_t positiveMomentumZ() const;
00034 Float_t negativeMomentumX() const;
00035 Float_t negativeMomentumY() const;
00036 Float_t negativeMomentumZ() const;
00037 Float_t positionX() const;
00038 Float_t positionY() const;
00039 Float_t positionZ() const;
00040
00041 Int_t positiveSimTpcHits() const;
00042 Int_t positiveCommonTpcHits() const;
00043 Int_t negativeSimTpcHits() const;
00044 Int_t negativeCommonTpcHits() const;
00045
00046 void SetHitInfoPositive(Int_t commonHits);
00047 void SetHitInfoNegative(Int_t commonHits);
00048
00049
00050 Float_t decayVertexV0X() const {return positionX();}
00051 Float_t decayVertexV0Y() const {return positionY();}
00052 Float_t decayVertexV0Z() const {return positionZ();}
00053
00054 Float_t momPosX() const {return positiveMomentumX();}
00055 Float_t momPosY() const {return positiveMomentumY();}
00056 Float_t momPosZ() const {return positiveMomentumZ();}
00057
00058 Float_t momNegX() const {return negativeMomentumX();}
00059 Float_t momNegY() const {return negativeMomentumY();}
00060 Float_t momNegZ() const {return negativeMomentumZ();}
00061
00062 Float_t momV0X() const {return parentMomentumX();}
00063 Float_t momV0Y() const {return parentMomentumY();}
00064 Float_t momV0Z() const {return parentMomentumZ();}
00065
00066 protected:
00067
00068
00069 Int_t mPositiveSimTpcHits;
00070 Int_t mPositiveCommonTpcHits;
00071
00072 Int_t mNegativeSimTpcHits;
00073 Int_t mNegativeCommonTpcHits;
00074
00075 Int_t mDecayMode;
00076 Int_t mParentGeantId;
00077 Int_t mPositiveGeantId;
00078 Int_t mNegativeGeantId;
00079 Float_t mParentMomentumX;
00080 Float_t mParentMomentumY;
00081 Float_t mParentMomentumZ;
00082 Float_t mPositiveMomentumX;
00083 Float_t mPositiveMomentumY;
00084 Float_t mPositiveMomentumZ;
00085 Float_t mNegativeMomentumX;
00086 Float_t mNegativeMomentumY;
00087 Float_t mNegativeMomentumZ;
00088 Float_t mPositionX;
00089 Float_t mPositionY;
00090 Float_t mPositionZ;
00091
00092 private:
00093 ClassDef(StV0Mc,5)
00094 };
00095
00096 inline Int_t StV0Mc::decayMode() const
00097 { return mDecayMode; }
00098 inline void StV0Mc::SetHitInfoPositive(Int_t commonHits)
00099 { mPositiveCommonTpcHits = commonHits; }
00100 inline Int_t StV0Mc::positiveCommonTpcHits() const
00101 { return mPositiveCommonTpcHits; }
00102 inline Int_t StV0Mc::positiveSimTpcHits() const
00103 { return mPositiveSimTpcHits; }
00104 inline void StV0Mc::SetHitInfoNegative(Int_t commonHits)
00105 { mNegativeCommonTpcHits = commonHits; }
00106 inline Int_t StV0Mc::negativeCommonTpcHits() const
00107 { return mNegativeCommonTpcHits; }
00108 inline Int_t StV0Mc::negativeSimTpcHits() const
00109 { return mNegativeSimTpcHits; }
00110 inline Int_t StV0Mc::geantIdParent() const
00111 { return mParentGeantId; }
00112 inline Int_t StV0Mc::geantIdPositive() const
00113 { return mPositiveGeantId; }
00114 inline Int_t StV0Mc::geantIdNegative() const
00115 { return mNegativeGeantId; }
00116 inline Float_t StV0Mc::parentMomentumX() const
00117 { return mParentMomentumX; }
00118 inline Float_t StV0Mc::parentMomentumY() const
00119 { return mParentMomentumY; }
00120 inline Float_t StV0Mc::parentMomentumZ() const
00121 { return mParentMomentumZ; }
00122 inline Float_t StV0Mc::positiveMomentumX() const
00123 { return mPositiveMomentumX; }
00124 inline Float_t StV0Mc::positiveMomentumY() const
00125 { return mPositiveMomentumY; }
00126 inline Float_t StV0Mc::positiveMomentumZ() const
00127 { return mPositiveMomentumZ; }
00128 inline Float_t StV0Mc::negativeMomentumX() const
00129 { return mNegativeMomentumX; }
00130 inline Float_t StV0Mc::negativeMomentumY() const
00131 { return mNegativeMomentumY; }
00132 inline Float_t StV0Mc::negativeMomentumZ() const
00133 { return mNegativeMomentumZ; }
00134 inline Float_t StV0Mc::positionX() const
00135 { return mPositionX; }
00136 inline Float_t StV0Mc::positionY() const
00137 { return mPositionY; }
00138 inline Float_t StV0Mc::positionZ() const
00139 { return mPositionZ; }
00140
00141 #endif
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162