]>
Commit | Line | Data |
---|---|---|
dd82cadc | 1 | /* $Id$ */ |
2 | ||
c031a417 | 3 | //__________________________________________________________________________ |
4 | //////////////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // class AliHBTCrab | |
7 | // | |
dd82cadc | 8 | // This class introduces the weight's calculation |
9 | // according to the Lednicky's algorithm. | |
10 | // The detailed description of the algorithm can be found | |
11 | // in comments to fortran code: | |
12 | // fsiw.f, fsiini.f | |
c031a417 | 13 | // |
14 | // Piotr.Skowronski@cern.ch | |
15 | //////////////////////////////////////////////////////////////////////////// | |
dd82cadc | 16 | |
17 | #ifndef ALIHBTCrab_H | |
18 | #define ALIHBTCrab_H | |
19 | ||
20 | #include "AliHBTWeights.h" | |
21 | ||
fd1065a1 | 22 | #ifdef __DECCXX |
23 | #include <complex.h> | |
24 | #else | |
25 | class Complex; | |
c031a417 | 26 | typedef Complex doublecomplex; |
fd1065a1 | 27 | #endif |
28 | ||
c031a417 | 29 | //#include <math.h> |
fd1065a1 | 30 | |
dd82cadc | 31 | class AliHBTPair; |
32 | ||
33 | class AliHBTCrab: public AliHBTWeights | |
34 | { | |
35 | public: | |
36 | ||
8ef3740b | 37 | AliHBTCrab(); |
dd82cadc | 38 | virtual ~AliHBTCrab(){fgCrab =0x0;} |
39 | static AliHBTCrab* Instance(); | |
40 | void Set(); | |
41 | ||
1a1e58ac | 42 | Double_t GetWeight(AliHBTPair* partpair); |
dd82cadc | 43 | void Init(Int_t pid1,Int_t pid2); //put the initial values in fortran commons fsiini, led_bldata |
c114f4f8 | 44 | |
dd82cadc | 45 | private: |
dd82cadc | 46 | AliHBTCrab(const AliHBTCrab &/*source*/); |
34914285 | 47 | AliHBTCrab & operator=(const AliHBTCrab& /*source*/); |
dd82cadc | 48 | |
c114f4f8 | 49 | void GetComQuantities(const AliHBTPair* pair, double *qred,double *r,double *qdotr,double *mom, int *test); |
50 | double CorrCalc(double trueqred,double trueqdotr,double truer); | |
dd82cadc | 51 | |
c114f4f8 | 52 | Bool_t fBreitWigner;//switch if to calculated BW |
53 | Bool_t fReducedMom;//switch if | |
54 | Float_t fMaxMomentum;//switch if | |
dd82cadc | 55 | |
56 | Bool_t SetConfig(const AliHBTPair* pair); | |
57 | ||
c114f4f8 | 58 | Int_t fPid1;//PID of the first particle |
59 | Int_t fPid2;//PID of the second particle | |
dd82cadc | 60 | |
c114f4f8 | 61 | Double_t fMass1;//mass of the first particle |
62 | Double_t fMass2;//mass of the second particle | |
dd82cadc | 63 | |
c114f4f8 | 64 | Float_t fInteractionWsym;// fractions of symmetric and antisym weights of the various spin channels |
65 | Float_t fInteractionWanti;//comment | |
66 | Float_t fInteractionWnosym;//comment | |
dd82cadc | 67 | |
c114f4f8 | 68 | Float_t fInteractionDelk;//comment |
69 | Int_t fInteractionNkmax;// number of momentum points in mesh for strong/coul. interaction | |
dd82cadc | 70 | |
8882f543 | 71 | #ifdef __DECCXX |
c114f4f8 | 72 | static const complex fgkCI;//complex (1,0) |
8882f543 | 73 | #else |
c031a417 | 74 | static const doublecomplex fgkCI;//complex (1,0) |
8882f543 | 75 | #endif |
dd82cadc | 76 | static const Double_t fgkROOT2;//! some const |
77 | static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973 | |
78 | ||
8882f543 | 79 | #ifdef __DECCXX |
c114f4f8 | 80 | complex CGamma(complex c); |
8882f543 | 81 | #else |
c031a417 | 82 | doublecomplex CGamma(doublecomplex c); |
8882f543 | 83 | #endif |
dd82cadc | 84 | |
c031a417 | 85 | static AliHBTCrab* fgCrab; //pointer to instance of this class - singleton |
dd82cadc | 86 | ClassDef(AliHBTCrab,1) |
87 | }; | |
88 | ||
89 | #endif |