]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTasCorrFctn.h
Prevent destruction of TGeoShape used for ZDC tower visualization.
[u/mrichter/AliRoot.git] / HBTAN / AliHBTasCorrFctn.h
CommitLineData
94a709e1 1#ifndef ALIHBTASCORRFCTN_H
2#define ALIHBTASCORRFCTN_H
3
4///////////////////////////////////////////////////////
5// //
6// AliHBTasCorrFctn.h //
7// //
8// Class for calculating 3D as correlation //
9// functions //
10//author: Grzegorz.Galazka@cern.ch //
11///////////////////////////////////////////////////////
12
13#include "AliHBTFunction.h"
14
15
16class AliHBTasCorrFctn: public AliHBTOnePairFctn1D
17{
18public:
19 AliHBTasCorrFctn(const char* name = "asejdzbitiCF",
20 const char* title= "as Correlation Function");
21
22 AliHBTasCorrFctn(const char* name, const char* title,
23 Int_t nbins, Float_t maxXval, Float_t minXval);
24 AliHBTasCorrFctn(const AliHBTasCorrFctn& in);
25
26 virtual ~AliHBTasCorrFctn();
27
28 void Init();
29 void ProcessSameEventParticles(AliHBTPair* pair);
30 void ProcessDiffEventParticles(AliHBTPair* pair);
3c1edb34 31 Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0);
32 Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTOnePairFctn1D::Write(x1,x2,x3);}
94a709e1 33
34 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
35
36 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
37
38
39 TH1* GetResult();
40
41protected:
42
43 virtual Double_t GetValue(AliHBTPair* pair) const = 0;
44 virtual void BuildHistos() = 0;
3c1edb34 45 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
46 AliHBTOnePairFctn1D::BuildHistos(nbins, max, min);
47 }
94a709e1 48 int Getnbins(){ return fnbins;} // this are workarounds for my lame coding
49 double GetmaxXval(){return fmaxXval;} // these methods are uset to build histograms
50 double GetminXval(){return fminXval;} // with set by user number of bins etc.
51 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval); //
52
53 TObjArray* fNum; // numerators array
54 TObjArray* fDen; // denominators array
55 TObjArray* fRat;// correl. fnctns array
56
57
58private:
59 int fnbins; //number of bins in histograms
60 Int_t fNumberOfIntervals; //number of intervals
61 double fmaxXval; //max histogram's X value
62 double fminXval; //min histogram's X value
4b1c9620 63
64 AliHBTasCorrFctn& operator=(const AliHBTasCorrFctn&); // Not implemented
94a709e1 65
66 ClassDef(AliHBTasCorrFctn,1)
67};
68
69class AliHBTQOutasCorrFctn: public AliHBTasCorrFctn{
70public:
71 AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
72
73 virtual ~AliHBTQOutasCorrFctn(){};
74
75
76protected:
77 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQOutLCMS();}
3c1edb34 78 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
79 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
80 }
94a709e1 81 void BuildHistos();
82private:
83 ClassDef(AliHBTQOutasCorrFctn,1)
84};
85
86class AliHBTQSideasCorrFctn: public AliHBTasCorrFctn{
87public:
88 AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
89// AliHBTSideasCorrFctn(const AliHBTasCorrFctn& in);
90
91 virtual ~AliHBTQSideasCorrFctn(){};
92
93protected:
94 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQSideLCMS();}
3c1edb34 95 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
96 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
97 }
94a709e1 98 void BuildHistos();
99private:
100 ClassDef(AliHBTQSideasCorrFctn,1)
101};
102
103
104class AliHBTQLongasCorrFctn: public AliHBTasCorrFctn{
105public:
106 AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
107
108 virtual ~AliHBTQLongasCorrFctn(){};
109
110protected:
111 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQLongLCMS();}
3c1edb34 112 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
113 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
114 }
94a709e1 115 void BuildHistos();
116private:
117 ClassDef(AliHBTQLongasCorrFctn,1)
118};
119
120
121#endif