]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTLLWeights.h
Reducing the amount of printout
[u/mrichter/AliRoot.git] / HBTAN / AliHBTLLWeights.h
CommitLineData
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
14class AliHBTPair;
dd82cadc 15class 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
37e71815 43 Bool_t fColoumbSwitch; //switches on/off Coulumb effect
44 Bool_t fQuantStatSwitch; //switches on/off Quantum Statistics effect
88cb7938 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
37e71815 58 Int_t fPID1; //Pdg Code of the first particle in the pair
59 Int_t fPID2; //Pdg Code of the second particle in the pair
88cb7938 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