]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTCrab.h
Processing of all events in the files
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCrab.h
1 /* $Id$ */
2
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:
7 // fsiw.f, fsiini.f
8
9 #ifndef ALIHBTCrab_H
10 #define ALIHBTCrab_H
11
12 #include "AliHBTWeights.h"
13
14 #ifdef __DECCXX
15 #include <complex.h>
16 #else
17 class Complex;
18 typedef Complex double_complex;
19 #endif
20 #include <math.h>
21
22 class AliHBTPair;
23
24 class AliHBTCrab: public AliHBTWeights
25  {
26    public:
27
28      virtual ~AliHBTCrab(){fgCrab =0x0;}
29      static AliHBTCrab* Instance();
30      void Set();
31
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
34    private:
35      AliHBTCrab();
36      AliHBTCrab(const AliHBTCrab &/*source*/);
37      AliHBTCrab & operator=(const AliHBTCrab& /*source*/);
38
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);
41      
42      Bool_t fBreitWigner;
43      Bool_t fReducedMom;
44      Float_t fMaxMomentum;
45      
46      Bool_t  SetConfig(const AliHBTPair* pair);
47      
48      Int_t fPid1;
49      Int_t fPid2;
50      
51      Double_t MASS1;
52      Double_t MASS2;
53  
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;
57      
58      Float_t INTERACTION_DELK;
59      Int_t INTERACTION_NKMAX;/* number of momentum points in mesh for strong/coul. interaction */
60      
61 #ifdef __DECCXX
62      static const complex ci;
63 #else
64      static const double_complex ci;
65 #endif
66      static const Double_t fgkROOT2;//! some const
67      static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973
68      
69 #ifdef __DECCXX
70      complex cgamma(complex c);
71 #else
72      double_complex cgamma(double_complex c);
73 #endif
74      
75      static AliHBTCrab* fgCrab;
76      ClassDef(AliHBTCrab,1)
77  };
78  
79 #endif