Safe dynamic casting from root dictionary fascility in GetGenerator and GetAliGenHBTp...
[u/mrichter/AliRoot.git] / HBTAN / AliHBTAnalysis.h
CommitLineData
1b446896 1#ifndef ALIHBTANALYSIS_H
2#define ALIHBTANALYSIS_H
3
4#include <TObject.h>
5
6
7
8class AliHBTParticleCut;
9class AliHBTCut;
10class AliHBTPairCut;
11class AliHBTPair;
12
13class AliHBTRun;
14class AliHBTReader;
15class AliHBTTwoPartFctn;
16class AliHBTFourPartFctn;
17
18
19class TList;
20
21class AliHBTAnalysis: public TObject
22 {
23 public:
24 AliHBTAnalysis();
25
26 virtual ~AliHBTAnalysis();
27
28 virtual void Process(Option_t* option = "TracksAndParticles");
29
30
31 void SetGlobalPairCut(AliHBTPairCut* cut);
32
33 void AddTrackFunction(AliHBTTwoPartFctn*);
34 void AddParticleFunction(AliHBTTwoPartFctn*);
35 void AddParticleAndTrackFunction(AliHBTFourPartFctn*);
36
37 void AddResolutionFunction(AliHBTFourPartFctn* f){AddParticleAndTrackFunction(f);}
38
39 void SetReader(AliHBTReader* r){fReader = r;}
40
41 void Write();
42 protected:
43
44 Bool_t RunCoherencyCheck();
45
46
47 AliHBTReader* fReader;
48
49 virtual void ProcessTracks();
50 virtual void ProcessParticles();
51 virtual void ProcessTracksAndParticles();
52
53
54 AliHBTTwoPartFctn** fTrackFunctions; //array of pointers to functions that analyze rekonstructed tracks
55 AliHBTTwoPartFctn** fParticleFunctions; //array of pointers to functions that analyze generated particles
56 AliHBTFourPartFctn** fParticleAndTrackFunctions; //array of pointers to functions that analyze both
57 //reconstructed tracks and generated particles
58 //i.e. - resolution analyzers
59 UInt_t fNTrackFunctions;
60 UInt_t fNParticleFunctions;
61 UInt_t fNParticleAndTrackFunctions;
62
63 /**********************************************/
64 /* Control parameters */
65
66 AliHBTPairCut *fPairCut;
67
68 // AliHBTCut *fParticleCut;
69 /**********************************************/
70
71
72 private:
73 static const Int_t fgkHbtAnalyzeAll;
74 static const UInt_t fgkFctnArraySize;
75/*********************************************/
76 public:
77 ClassDef(AliHBTAnalysis,0)
78 };
79
80
81
82
83#endif