]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HBTAN/AliHBTCrab.h
Add example local macro
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCrab.h
... / ...
CommitLineData
1/* $Id$ */
2
3//__________________________________________________________________________
4////////////////////////////////////////////////////////////////////////////
5//
6// class AliHBTCrab
7//
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
13//
14// Piotr.Skowronski@cern.ch
15////////////////////////////////////////////////////////////////////////////
16
17#ifndef ALIHBTCrab_H
18#define ALIHBTCrab_H
19
20#include "AliHBTWeights.h"
21
22#ifdef __DECCXX
23 #include <complex.h>
24#else
25 class Complex;
26 typedef Complex doublecomplex;
27#endif
28
29//#include <math.h>
30
31class AliHBTPair;
32
33class AliHBTCrab: public AliHBTWeights
34 {
35 public:
36
37 AliHBTCrab();
38 virtual ~AliHBTCrab(){fgCrab =0x0;}
39 static AliHBTCrab* Instance();
40 void Set();
41
42 Double_t GetWeight(AliHBTPair* partpair);
43 void Init(Int_t pid1,Int_t pid2); //put the initial values in fortran commons fsiini, led_bldata
44
45 private:
46 AliHBTCrab(const AliHBTCrab &/*source*/);
47 AliHBTCrab & operator=(const AliHBTCrab& /*source*/);
48
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);
51
52 Bool_t fBreitWigner;//switch if to calculated BW
53 Bool_t fReducedMom;//switch if
54 Float_t fMaxMomentum;//switch if
55
56 Bool_t SetConfig(const AliHBTPair* pair);
57
58 Int_t fPid1;//PID of the first particle
59 Int_t fPid2;//PID of the second particle
60
61 Double_t fMass1;//mass of the first particle
62 Double_t fMass2;//mass of the second particle
63
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
67
68 Float_t fInteractionDelk;//comment
69 Int_t fInteractionNkmax;// number of momentum points in mesh for strong/coul. interaction
70
71#ifdef __DECCXX
72 static const complex fgkCI;//complex (1,0)
73#else
74 static const doublecomplex fgkCI;//complex (1,0)
75#endif
76 static const Double_t fgkROOT2;//! some const
77 static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973
78
79#ifdef __DECCXX
80 complex CGamma(complex c);
81#else
82 doublecomplex CGamma(doublecomplex c);
83#endif
84
85 static AliHBTCrab* fgCrab; //pointer to instance of this class - singleton
86 ClassDef(AliHBTCrab,1)
87 };
88
89#endif