]>
Commit | Line | Data |
---|---|---|
de0014b7 | 1 | #ifndef AliToyMCEventGenerator_H |
2 | #define AliToyMCEventGenerator_H | |
3 | ||
a1a695e5 | 4 | #include <TString.h> |
5 | ||
6 | class TFile; | |
7 | class TTree; | |
8 | ||
9 | class AliTPCParam; | |
10 | class AliTPCSpaceCharge3D; | |
32438f4e | 11 | class AliTrackPointArray; |
a1a695e5 | 12 | |
13 | class AliToyMCTrack; | |
14 | class AliToyMCEvent; | |
de0014b7 | 15 | |
de0014b7 | 16 | class AliToyMCEventGenerator : public TObject { |
17 | public: | |
cd8ed0ac | 18 | enum EGasType { |
19 | kNeCO2_9010=0 | |
20 | }; | |
21 | ||
22 | enum EEpsilon { | |
23 | kEps5=0, | |
24 | kEps10, | |
25 | kEps20 | |
26 | }; | |
27 | ||
28 | enum ECollRate { | |
29 | k50kHz = 0 | |
30 | }; | |
31 | ||
de0014b7 | 32 | AliToyMCEventGenerator(); |
33 | AliToyMCEventGenerator(const AliToyMCEventGenerator &gen); | |
34 | virtual ~AliToyMCEventGenerator(); | |
35 | ||
36 | virtual AliToyMCEvent* Generate(Double_t time) = 0; | |
37 | ||
38 | Bool_t DistortTrack(AliToyMCTrack &trackIn, Double_t t0); | |
32438f4e | 39 | void CreateSpacePoints(AliToyMCTrack &trackIn, |
40 | AliTrackPointArray &arrUdist, | |
41 | AliTrackPointArray &arrDist); | |
42 | void SetPoint(Float_t xyz[3], AliTrackPoint &point); | |
43 | void ConvertTrackPointsToLocalClusters(AliTrackPointArray &arrPoints, AliToyMCTrack &tr, Double_t t0, Int_t type); | |
44 | Bool_t SetupCluster(AliTPCclusterMI &tempCl, Float_t xyz[3], Int_t sec, Double_t t0); | |
45 | ||
a1a695e5 | 46 | void SetOutputFileName(const char* file) { fOutputFileName=file; } |
47 | const char* GetOutputFileName() const { return fOutputFileName.Data(); } | |
32438f4e | 48 | |
cd8ed0ac | 49 | void SetSpaceCharge(EEpsilon epsilon, EGasType gasType=kNeCO2_9010, ECollRate collRate=k50kHz); |
50 | void SetSpaceChargeFile(const char* file) { fSpaceChargeFile=file; } | |
51 | ||
32438f4e | 52 | Int_t GetSector(Float_t xyz[3]); |
53 | ||
de0014b7 | 54 | protected: |
55 | AliTPCParam *fTPCParam; | |
a1a695e5 | 56 | AliToyMCEvent *fEvent; |
57 | ||
58 | Bool_t ConnectOutputFile(); | |
59 | Bool_t CloseOutputFile(); | |
60 | void FillTree(); | |
cd8ed0ac | 61 | |
62 | void InitSpaceCharge(); | |
de0014b7 | 63 | |
64 | private: | |
a1a695e5 | 65 | AliToyMCEventGenerator& operator= (const AliToyMCEventGenerator& ); |
66 | ||
de0014b7 | 67 | AliTPCSpaceCharge3D *fSpaceCharge; |
a1a695e5 | 68 | |
cd8ed0ac | 69 | TString fSpaceChargeFile; |
a1a695e5 | 70 | TString fOutputFileName; |
71 | TFile *fOutFile; | |
72 | TTree *fOutTree; | |
de0014b7 | 73 | |
74 | ClassDef(AliToyMCEventGenerator, 1) | |
75 | ||
76 | }; | |
77 | ||
78 | #endif | |
79 |