]>
Commit | Line | Data |
---|---|---|
4fdf4eb3 | 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 | |
88cb7938 | 8 | |
7f92929e | 9 | #ifndef ALIHBTLLWEIGHTS_H |
10 | #define ALIHBTLLWEIGHTS_H | |
11 | ||
dd82cadc | 12 | #include "AliHBTWeights.h" |
7f92929e | 13 | |
14 | class AliHBTPair; | |
dd82cadc | 15 | class AliHBTLLWeights: public AliHBTWeights |
88cb7938 | 16 | { |
17 | public: | |
18 | virtual ~AliHBTLLWeights(){;} | |
19 | static AliHBTLLWeights* Instance(); | |
dd82cadc | 20 | void Set(); |
88cb7938 | 21 | |
22 | Double_t GetWeight(const AliHBTPair* partpair); //get weight calculated by Lednicky's algorithm | |
23 | ||
24 | void Init(); //put the initial values in fortran commons fsiini, led_bldata | |
25 | void SetTest(Bool_t rtest = kTRUE);//Sets fTest member | |
4fdf4eb3 | 26 | |
88cb7938 | 27 | void SetColoumb(Bool_t col = kTRUE);//: (ICH in fortran code) Coulomb interaction between the two particles ON (OFF) |
28 | void SetQuantumStatistics(Bool_t qss = kTRUE);//IQS: quantum statistics for the two particles ON (OFF) //if non-identical particles automatically off | |
29 | void SetStrongInterSwitch(Bool_t sis = kTRUE);//ISI: strong interaction between the two particles ON (OFF) | |
30 | void SetColWithResidNuclSwitch(Bool_t crn = kTRUE);//I3C: Coulomb interaction with residual nucleus ON (OFF) | |
526c2bd5 | 31 | void SetLambda(Double_t la){fOneMinusLambda=1.-la;} //lambda=haoticity |
88cb7938 | 32 | void SetApproxModel(Int_t ap);//sets Model of Approximation (NS in Fortran code) |
33 | void SetRandomPosition(Bool_t rp = kTRUE); //ON=kTRUE(OFF=kFALSE) | |
34 | void SetR1dw(Double_t R); //spherical source model radii | |
35 | void SetParticlesTypes(Int_t pid1, Int_t pid2); //set AliRoot particles types | |
36 | void SetNucleusCharge(Double_t ch); // not used now (see comments in fortran code) | |
37 | void SetNucleusMass(Double_t mass); // (see comments in fortran code) | |
526c2bd5 | 38 | |
88cb7938 | 39 | protected: |
40 | ||
41 | Bool_t fTest; //flag indicating if parameters listed below are to be calculated automatically (0) | |
42 | //or | |
43 | Bool_t fColoumbSwitch; | |
44 | Bool_t fQuantStatSwitch; | |
45 | Bool_t fStrongInterSwitch;//Switches strong interactions TRUE=ON | |
46 | Bool_t fColWithResidNuclSwitch;//Switches couloumb interaction | |
47 | //with residual nucleus TRUE=ON | |
48 | Double_t fNuclMass; //mass of nucleus | |
49 | Double_t fNuclCharge; //charge of nucleus | |
50 | ||
51 | Bool_t fRandomPosition;//flag indicating if positions of particles shuold be randomized according to parameters below | |
52 | Double_t fRadius; //radius used for randomizing particle vertex position | |
526c2bd5 | 53 | |
54 | Double_t fOneMinusLambda; //1 - intercept parameter | |
7f92929e | 55 | |
88cb7938 | 56 | Int_t fApproximationModel; //approximation used to calculate Bethe-Salpeter amplitude see SetApproxModel for more comments |
57 | ||
58 | Int_t fPID1; | |
59 | Int_t fPID2; | |
60 | Double_t fSigma; //constants for spherical source model in cm | |
61 | static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973 | |
62 | ||
63 | static AliHBTLLWeights *fgLLWeights;// pointer to wrapper of Fortran Lednicky code | |
64 | ||
65 | static Int_t GetPairCode(Int_t pid1,Int_t pid2); | |
66 | static Int_t GetPairCode(const AliHBTPair* partpair);//calculate automatically internal code | |
67 | ||
68 | private: | |
69 | AliHBTLLWeights(); | |
111e505b | 70 | AliHBTLLWeights(const AliHBTLLWeights &/*source*/); |
71 | AliHBTLLWeights & operator=(const AliHBTLLWeights& /*source*/); | |
72 | ||
88cb7938 | 73 | ClassDef(AliHBTLLWeights,1) |
7f92929e | 74 | }; |
75 | ||
76 | #endif |