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"
18 typedef Complex double_complex;
24 class AliHBTCrab: public AliHBTWeights
28 virtual ~AliHBTCrab(){fgCrab =0x0;}
29 static AliHBTCrab* Instance();
32 Double_t GetWeight(const AliHBTPair* partpair);
33 void Init(Int_t pid1,Int_t pid2); //put the initial values in fortran commons fsiini, led_bldata
36 AliHBTCrab(const AliHBTCrab &/*source*/);
37 AliHBTCrab & operator=(const AliHBTCrab& /*source*/);
39 void get_com_quantities(const AliHBTPair* pair, double *qred,double *r,double *qdotr,double *mom, int *test);
40 double corrcalc(double trueqred,double trueqdotr,double truer);
46 Bool_t SetConfig(const AliHBTPair* pair);
54 Float_t INTERACTION_WSYM;/* fractions of symmetric and antisym weights of the various spin channels */
55 Float_t INTERACTION_WANTI;
56 Float_t INTERACTION_WNOSYM;
58 Float_t INTERACTION_DELK;
59 Int_t INTERACTION_NKMAX;/* number of momentum points in mesh for strong/coul. interaction */
62 static const complex ci;
64 static const double_complex ci;
66 static const Double_t fgkROOT2;//! some const
67 static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973
70 complex cgamma(complex c);
72 double_complex cgamma(double_complex c);
75 static AliHBTCrab* fgCrab;
76 ClassDef(AliHBTCrab,1)