00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ST_HBT_THCF_GAUSSFIT_H
00024 #define ST_HBT_THCF_GAUSSFIT_H
00025
00026
00027 #include "StHbtMaker/ThCorrFctn/StHbtThPairGaussFit.h"
00028 #include "StHbtMaker/Base/StHbtThCorrFctn.hh"
00029 #include "StHbtMaker/ThCorrFctn/StHbtThCFGaussSizeCollection.hh"
00030
00031
00032
00033 class StHbtPair;
00034 class TRandom;
00035 class StHbtFsiWeight;
00036
00037
00038 class StHbtThCFGaussFit : public StHbtCorrFctn {
00039 public:
00040 StHbtThCFGaussFit();
00041 ~StHbtThCFGaussFit();
00042
00043 void AddCorrFctn(const StHbtThCorrFctn *);
00044
00045 void AddRealPair( const StHbtPair*);
00046 void AddMixedPair( const StHbtPair*);
00047
00048 void Finish();
00049 StHbtString Report();
00050
00051 void AddSize(const char* aName, double aXYZ, double aT);
00052 void AddSize(const char* aName, double aX, double aY, double aZ, double aT);
00053
00054 void SetWeight(StHbtFsiWeight*);
00055
00056 void UseHiddenMomentum();
00057 void UseParticleMomentum();
00058
00059 void UseHiddenPid();
00060 void UseFixedPid( int const tPid1, double const tMass1);
00061 void UseFixedPid( int const tPid1,double const tMass1, int const tPid2,double const tMass2 );
00062
00063 void SetBoostRCMS(double aPlab,double aMBeam, double aMTarget);
00064
00065 void SetRCMS();
00066 void SetLCMS();
00067 void SetPRF();
00068
00069 StHbtThCFGaussSizeCollection *getCollection();
00070
00071 private:
00072
00073 double mMaxX,mMaxY,mMaxZ,mMaxT;
00074 StHbtThPairGaussFit mPair;
00075 StHbtThCFGaussSizeCollection mSizeColl;
00076
00077 TRandom mRand;
00078
00079 #ifdef __ROOT__
00080 ClassDef(StHbtThCFGaussFit,1)
00081 #endif
00082 };
00083
00084 #endif