StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtThCFGaussFit.h
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Laurent Conin, Fabrice Retiere, Subatech, France
6  ***************************************************************************
7  *
8  * Description : This class is used to calculate the Correlation Function
9  * with several hypothesis on the size of the source.
10  * It inherit from StHbtCorrFctn, so it must be plugged in an analysis.
11  * Several hypothesis on the size can be made with AddSize(x,y,z,t).
12  * for each size, is add a ThCFGaussSize in it SizeCollection.
13  * Several ThCorrFctn can be plugged with AddCorrFctn(ThCorrFctn).
14  * for each ThCFGaussSize the ThCorrFctn is copied and the copy is pluged in
15  * The Weight Calculator should be set by SetWeight(weight)
16  *
17  ***************************************************************************
18  *
19  *
20  *
21  ***************************************************************************/
22 
23 #ifndef ST_HBT_THCF_GAUSSFIT_H
24 #define ST_HBT_THCF_GAUSSFIT_H
25 
26 
27 #include "StHbtMaker/ThCorrFctn/StHbtThPairGaussFit.h"
28 #include "StHbtMaker/Base/StHbtThCorrFctn.hh"
29 #include "StHbtMaker/ThCorrFctn/StHbtThCFGaussSizeCollection.hh"
30 
31 
32 
33 class StHbtPair;
34 class TRandom;
35 class StHbtFsiWeight;
36 
37 
39  public:
42 
43  void AddCorrFctn(const StHbtThCorrFctn *);
44 
45  void AddRealPair( const StHbtPair*);
46  void AddMixedPair( const StHbtPair*);
47 
48  void Finish();
49  StHbtString Report();
50 
51  void AddSize(const char* aName, double aXYZ, double aT);
52  void AddSize(const char* aName, double aX, double aY, double aZ, double aT);
53 
54  void SetWeight(StHbtFsiWeight*);
55 
56  void UseHiddenMomentum();
57  void UseParticleMomentum();
58 
59  void UseHiddenPid();
60  void UseFixedPid( int const tPid1, double const tMass1);
61  void UseFixedPid( int const tPid1,double const tMass1, int const tPid2,double const tMass2 );
62 
63  void SetBoostRCMS(double aPlab,double aMBeam, double aMTarget);
64 
65  void SetRCMS();
66  void SetLCMS();
67  void SetPRF();
68 
69  StHbtThCFGaussSizeCollection *getCollection();
70 
71  private:
72 
73  double mMaxX,mMaxY,mMaxZ,mMaxT;
74  StHbtThPairGaussFit mPair;
75  StHbtThCFGaussSizeCollection mSizeColl;
76 
77  TRandom mRand;
78 
79 #ifdef __ROOT__
80  ClassDef(StHbtThCFGaussFit,1)
81 #endif
82 };
83 
84 #endif