Corrections for gcc 4.0
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCrab.h
CommitLineData
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 31class AliHBTPair;
32
33class 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