00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef StHbtShiftedHiddenInfo_hh
00024 #define StHbtShiftedHiddenInfo_hh
00025
00026 #include "StHbtMaker/Base/StHbtHiddenInfo.hh"
00027 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00028 #include "TRandom.h"
00029 #include "StHbtMaker/ThCorrFctn/StHbtMomRes.hh"
00030
00031 enum ShiftType{PSHIFT, PTSHIFT, PHISHIFT};
00032
00033 class StHbtShiftedHiddenInfo : public StHbtHiddenInfo{
00034
00035 public:
00036
00037
00038 StHbtShiftedHiddenInfo();
00039 StHbtShiftedHiddenInfo(const StHbtLorentzVector& aInitialMom,
00040 const int& aPid,
00041 TRandom* aRand,
00042 const StHbtMomRes* aMomRes,
00043 const double momShift,
00044 const ShiftType aShiftType);
00045
00046 StHbtShiftedHiddenInfo(const StHbtShiftedHiddenInfo& aHiddenInfo);
00047 StHbtShiftedHiddenInfo(const StHbtLorentzVector& aShiftedMom,
00048 const int& aPid);
00049
00050 virtual ~StHbtShiftedHiddenInfo();
00051
00052
00053
00054
00055 const StHbtLorentzVector getShiftedMom() const;
00056 StHbtLorentzVector getMomentum() const;
00057 int getPid() const;
00058
00059
00060 void setInitialMom(const StHbtLorentzVector*, TRandom*, const StHbtMomRes*);
00061 void setPid(int);
00062 void setShift(double momShift);
00063 void setShiftType(ShiftType aShiftType);
00064
00065
00066
00067 virtual StHbtHiddenInfo* getParticleHiddenInfo() const;
00068
00069 StHbtLorentzVector mShiftedMom;
00070 protected:
00071
00072 int mPid;
00073 double mMomShift;
00074 ShiftType mShiftType;
00075
00076 };
00077
00078 #endif