StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtFsiLednicky.h
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Laurent Conin, Fabrice Retiere, Subatech, France
6  ***************************************************************************
7  *
8  * Description : Calculate correlation weight using R.Lednicky's code
9  * Use the fortran files : FsiLednickyWeight.F and FsiTools.F
10  *
11  ***************************************************************************
12  *
13  *
14  *
15  ***************************************************************************/
16 
17 #ifndef StHbtFsiLednicky_hh
18 #define StHbtFsiLednicky_hh
19 
20 #include "StHbtMaker/Base/StHbtFsiWeight.hh"
21 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
22 #include "StHbtMaker/Base/StHbtThPair.hh"
23 
25  public:
26 // --- Constructor
27  StHbtFsiLednicky(); // call SetDefaultCalcPar
28 // --- Destructor : nothing to explicitly delete
30 
31 // --- Function to be called in the correlation function
32  // see StThCorrFctn for details
33  virtual double GetWeight(const StHbtThPair* aThPair);
34 
35 // --- Setting
36 
37 // >>> Calculation mode
38  void SetDefaultCalcPar(); // Default is CoulOn, QuantumOn, StrongOn, 3BodyOff, Square, T0ApproxOff
39  void SetCoulOn();
40  void SetCoulOff();
41 
42  void SetQuantumOn();
43  void SetQuantumOff();
44  void SetStrongOn();
45  void SetStrongOff();
46  void Set3BodyOn();
47  void Set3BodyOff();
48  void SetSphere(); // use Spherical wave approximation
49  void SetSquare(); // use use Square potential (only for p-p and pi+Pi-) otherwise, use spherical wave approx
50  void SetT0ApproxOff();//only with Spherical wave Approximation - this is default mode
51  void SetT0ApproxOn();
52 
53 // Test Lambda parameters
54  void PrintLambdas();
55 
56  void SetNuclCharge(const double aNuclCharge); // for 3-body calculation
57  void SetNuclMass(const double aNuclMass);
58 
59  virtual StHbtString Report();
60 
61 protected:
62  // Fsi weight output
63  double mWei;
64  double mWein;
65  double mWeif;
66  // Setting parameters
67  int mItest;
68 
69  //int mNs;
70  int mIch;
71  int mIqs;
72  int mIsi;
73  int mI3c;
74  double mNuclMass;
75  double mNuclCharge;
76 
77  bool mSphereApp;
78  bool mT0App;
79 
80  //Pair identification
81  int mLL;
82  short mNuclChargeSign;
83  bool mSwap; // are particle in wright order ?
84  int const mLLMax;
85  int* mNumProcessPair;
86  int mNumbNonId;
87  char** mLLName;
88 
89  // Interface to the fortran functions
90  void FsiInit();
91  void FsiSetLL();
92  void FsiNucl();
93  bool SetPid(const int aPid1,const int aPid2);
94 
95 #ifdef __ROOT__
96  ClassDef(StHbtFsiLednicky,1)
97 #endif
98 };
99 
100 #endif