00001 #ifndef ST_CHARGED_PION_JET_PARTICLE_HH
00002 #define ST_CHARGED_PION_JET_PARTICLE_HH
00003
00004
00005
00006 #include "Math/PtEtaPhiE4D.h"
00007 #include "Math/LorentzVector.h"
00008 using namespace ROOT::Math;
00009
00010 #include "StarClassLibrary/StThreeVectorF.hh"
00011 #include "StEvent/StEnumerations.h"
00012
00013 #include "TLorentzVector.h"
00014
00015 class StChargedPionJetParticle : public LorentzVector< PtEtaPhiE4D<Double32_t> > {
00016 public:
00017 StChargedPionJetParticle();
00018 virtual ~StChargedPionJetParticle();
00019
00020 int index();
00021 StDetectorId detectorId();
00022
00023 int charge();
00024 unsigned int nHits();
00025 unsigned int nHitsPoss();
00026 unsigned int nHitsFit();
00027 unsigned int nHitsDEdx();
00028 double nSigmaPion();
00029
00030 StThreeVectorF& globalDca();
00031 const StThreeVectorF& globalDca() const;
00032
00033 double z(const TLorentzVector&) const;
00034
00035 void setIndex(short);
00036 void setDetectorId(StDetectorId);
00037
00038 void setCharge(char);
00039 void setNHits(unsigned char);
00040 void setNHitsFit(unsigned char);
00041 void setNHitsPoss(unsigned char);
00042 void setNHitsDEdx(unsigned char);
00043 void setNSigmaPion(float);
00044
00045 void setGlobalDca(StThreeVectorF&);
00046
00047 private:
00048 Short_t mIndex;
00049 Char_t mDetectorId;
00050 Char_t mCharge;
00051 UChar_t mNHits;
00052 UChar_t mNHitsFit;
00053 UChar_t mNHitsDEdx;
00054 UChar_t mNHitsPoss;
00055 Float_t mNSigmaPion;
00056 StThreeVectorF mGlobalDca;
00057
00058 ClassDef(StChargedPionJetParticle, 2)
00059 };
00060
00061 inline int StChargedPionJetParticle::index() { return mIndex; }
00062 inline StDetectorId StChargedPionJetParticle::detectorId() { return StDetectorId(mDetectorId); }
00063 inline int StChargedPionJetParticle::charge() { return mCharge; }
00064 inline unsigned int StChargedPionJetParticle::nHits() { return mNHits; }
00065 inline unsigned int StChargedPionJetParticle::nHitsPoss() { return mNHitsPoss; }
00066 inline unsigned int StChargedPionJetParticle::nHitsFit() { return mNHitsFit; }
00067 inline unsigned int StChargedPionJetParticle::nHitsDEdx() { return mNHitsDEdx; }
00068 inline double StChargedPionJetParticle::nSigmaPion() { return mNSigmaPion; }
00069 inline StThreeVectorF& StChargedPionJetParticle::globalDca() { return mGlobalDca; }
00070 inline const StThreeVectorF& StChargedPionJetParticle::globalDca() const { return mGlobalDca; }
00071
00072 inline void StChargedPionJetParticle::setIndex(short a) { mIndex = a; }
00073 inline void StChargedPionJetParticle::setDetectorId(StDetectorId a) { mDetectorId = char(a); }
00074 inline void StChargedPionJetParticle::setCharge(char a) { mCharge = a; }
00075 inline void StChargedPionJetParticle::setNHits(unsigned char a) { mNHits = a; }
00076 inline void StChargedPionJetParticle::setNHitsFit(unsigned char a) { mNHitsFit = a; }
00077 inline void StChargedPionJetParticle::setNHitsPoss(unsigned char a) { mNHitsPoss = a; }
00078 inline void StChargedPionJetParticle::setNHitsDEdx(unsigned char a) { mNHitsDEdx = a; }
00079 inline void StChargedPionJetParticle::setNSigmaPion(float a) { mNSigmaPion = a; }
00080 inline void StChargedPionJetParticle::setGlobalDca(StThreeVectorF & a) { mGlobalDca = a; }
00081
00082 #endif
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092