]>
Commit | Line | Data |
---|---|---|
65a39007 | 1 | #ifndef AliFast_H |
2 | #define AliFast_H | |
3 | ||
4 | ////////////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // AliFast // | |
7 | // // | |
8 | // Main class to control the AliFast program. // | |
9 | // // | |
10 | // This class : // | |
11 | // - Initialises the run default parameters // | |
12 | // - Provides API to Set/Get run parameters // | |
13 | // - Creates the support lists (TClonesArrays) for the Event structure// | |
14 | // - Creates the physics objects makers // | |
15 | // // | |
16 | ////////////////////////////////////////////////////////////////////////// | |
17 | ||
18 | #include "AliRun.h" | |
19 | //#ifndef ROOT_TTree | |
20 | #include <TTree.h> | |
21 | //#endif | |
22 | //#ifndef AliFHistBrowser_H | |
23 | #include "AliFHistBrowser.h" | |
24 | //#endif | |
25 | //#ifndef AliFBigBang_H | |
26 | #include "AliFBigBang.h" | |
27 | //#endif | |
28 | //#ifndef AliFMaker_H | |
29 | #include "AliFMaker.h" | |
30 | //#endif | |
31 | //#ifndef AliFDet_H | |
32 | //#include "AliFDet.h" | |
33 | //#endif | |
34 | ||
35 | class TBrowser; | |
36 | class TChain; | |
37 | class AliFMCMaker; | |
38 | class AliFTrackMaker; | |
39 | class AliFDet; | |
40 | class AliFVirtualDisplay; | |
41 | ||
42 | class AliFast : public AliRun { | |
43 | ||
44 | private: | |
45 | Int_t fVersion; //AliFast version number | |
46 | Int_t fVersionDate; //AliFast version date | |
47 | Int_t fMode; //Run mode | |
48 | Int_t fTestTrack; //Test mode for TrackMaker | |
a8a6107b | 49 | TTree *fTree; //!Pointer to the Root tree |
65a39007 | 50 | TList *fMakers; //List of Makers |
51 | // pointers to standard Makers | |
a8a6107b | 52 | AliFMCMaker *fMCMaker; //!Pointer to MCMaker |
53 | AliFTrackMaker *fTrackMaker; //!Pointer to TrackMaker | |
54 | AliFDet *fDet; //!Pointer to Detector | |
65a39007 | 55 | // flags and switches |
56 | Int_t fLuminosity; //Luminosity option (low=1, high=2) | |
57 | Bool_t fBfield; //B-field (on=1,off=0) | |
58 | Bool_t fSmearing; //Smearing on=1, off=0 | |
59 | Int_t fSUSYcodeLSP; //Code for SUSY LSP particle | |
60 | Int_t fTrackFinding; //Track/finding on=1,off=0 | |
61 | AliFHistBrowser fHistBrowser; //Object to Browse Maker histograms | |
62 | AliFBigBang fBigBang; //!Object to Browse generated particles | |
63 | AliFVirtualDisplay *fDisplay; //!Pointer to Event display object | |
64 | ||
65 | public: | |
66 | AliFast(); | |
67 | AliFast(const char *name, const char *title="The ALIAS fast MonteCarlo"); | |
68 | virtual ~AliFast(); | |
69 | virtual void Browse(TBrowser *b); | |
70 | virtual void Draw(Option_t *option=""); // *MENU* | |
71 | Int_t GetVersion() {return fVersion;} | |
72 | Int_t GetVersionDate() {return fVersionDate;} | |
73 | virtual void Clear(Option_t *option=""); | |
74 | AliFVirtualDisplay *Display() {return fDisplay;} | |
75 | virtual void FillClone(); | |
76 | virtual void Finish(); | |
77 | virtual void GetTreeEvent(Int_t event); // *MENU* | |
78 | virtual void Init(); | |
b21a3d1a | 79 | Bool_t IsFolder() const {return kTRUE;} |
65a39007 | 80 | virtual void Make(Int_t i=0); |
81 | virtual void Paint(Option_t *option=""); | |
82 | virtual void PrintInfo(); | |
83 | virtual void SetDefaultParameters(); | |
84 | ||
85 | TList *Makers() {return fMakers;} | |
86 | AliFMaker *Maker(const char *name) {return (AliFMaker*)fMakers->FindObject(name);} | |
87 | AliFMCMaker *MCMaker() {return fMCMaker;} | |
88 | AliFTrackMaker *TrackMaker() {return fTrackMaker;} | |
89 | AliFDet *Detector() {return fDet;} | |
90 | TTree *Tree() {return fTree;} | |
91 | ||
92 | Int_t Run() {return fRun;} | |
93 | Int_t Event() {return fEvent;} | |
94 | Int_t Mode() {return fMode;} | |
95 | Int_t TestTrack() {return fTestTrack;} | |
96 | ||
97 | // Getters for flags and switches | |
98 | Int_t Luminosity() {return fLuminosity;} | |
99 | Bool_t Bfield() {return fBfield;} | |
100 | Bool_t Smearing() {return fSmearing;} | |
101 | Int_t SUSYcodeLSP() {return fSUSYcodeLSP;} | |
102 | Bool_t TrackFinding() {return fTrackFinding;} | |
103 | ||
104 | ||
105 | // Setter for Event Display | |
106 | void SetDisplay(AliFVirtualDisplay *display) {fDisplay=display;} | |
107 | // Setters for flags and switches | |
108 | void SetLuminosity(Int_t lumi=1) {fLuminosity=lumi;} | |
109 | void SetBfield(Bool_t field=1) {fBfield=field;} | |
110 | void SetSmearing(Bool_t val=1) {fSmearing=val;} | |
111 | void SetSUSYcodeLSP(Int_t val=66) {fSUSYcodeLSP=val;} | |
112 | void SetTrackFinding(Bool_t val=0) {fTrackFinding=val;} | |
113 | ||
114 | virtual void SetRun(Int_t run=1) {fRun=run;} | |
115 | virtual void SetEvent(Int_t event=1) {fEvent=event;} | |
116 | virtual void SetMode(Int_t mode=0) {fMode=mode;} | |
117 | virtual void SetTestTrack(Int_t test=0) {fTestTrack=test;} | |
118 | ||
119 | void FillTree(); | |
120 | void InitChain(TChain *chain); | |
121 | void MakeTree(const char* name="T", const char*title="AliFast tree"); | |
122 | ||
123 | void SortDown(Int_t n, Float_t *a, Int_t *index, Bool_t down=kTRUE); | |
124 | ||
125 | ClassDef(AliFast, 1) //AliFast control class | |
126 | }; | |
127 | ||
128 | R__EXTERN AliFast *gAliFast; | |
129 | ||
130 | #endif | |
131 | ||
132 | ||
133 | ||
134 | ||
135 | ||
136 | ||
137 | ||
138 | ||
139 | ||
140 | ||
141 | ||
142 | ||
143 | ||
144 | ||
145 | ||
146 | ||
147 |