3 // This class introduces the weight's calculation
4 // according to the Lednicky's algorithm.
5 // The detailed description of the algorithm can be found
6 // in comments to fortran code:
12 #include "AliHBTWeights.h"
15 typedef Complex double_complex;
19 class AliHBTCrab: public AliHBTWeights
23 virtual ~AliHBTCrab(){fgCrab =0x0;}
24 static AliHBTCrab* Instance();
27 Double_t GetWeight(const AliHBTPair* partpair);
28 void Init(Int_t pid1,Int_t pid2); //put the initial values in fortran commons fsiini, led_bldata
31 AliHBTCrab(const AliHBTCrab &/*source*/);
32 AliHBTCrab & operator=(const AliHBTCrab& /*source*/);
34 void get_com_quantities(const AliHBTPair* pair, double *qred,double *r,double *qdotr,double *mom, int *test);
35 double corrcalc(double trueqred,double trueqdotr,double truer);
41 Bool_t SetConfig(const AliHBTPair* pair);
49 Float_t INTERACTION_WSYM;/* fractions of symmetric and antisym weights of the various spin channels */
50 Float_t INTERACTION_WANTI;
51 Float_t INTERACTION_WNOSYM;
53 Float_t INTERACTION_DELK;
54 Int_t INTERACTION_NKMAX;/* number of momentum points in mesh for strong/coul. interaction */
56 static const double_complex ci;
57 static const Double_t fgkROOT2;//! some const
58 static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973
60 double_complex cgamma(double_complex c);
62 static AliHBTCrab* fgCrab;
63 ClassDef(AliHBTCrab,1)