1 #ifndef AliToyMCEventGenerator_H
2 #define AliToyMCEventGenerator_H
10 class AliTPCCorrection;
11 class AliTrackPointArray;
16 class AliToyMCEventGenerator : public TObject {
42 AliToyMCEventGenerator();
43 AliToyMCEventGenerator(const AliToyMCEventGenerator &gen);
44 virtual ~AliToyMCEventGenerator();
46 virtual AliToyMCEvent* Generate(Double_t time) = 0;
48 Bool_t DistortTrack(AliToyMCTrack &trackIn, Double_t t0=0);
49 void MakeITSClusters(AliToyMCTrack &trackIn/*, Double_t t0*/);
50 void MakeTRDClusters(AliToyMCTrack &trackIn/*, Double_t t0*/);
51 void MakeTPCClusters(AliToyMCTrack &trackIn, Double_t t0);
52 void CreateSpacePoints(AliToyMCTrack &trackIn,
53 AliTrackPointArray &arrUdist,
54 AliTrackPointArray &arrDist);
55 void SetPoint(Float_t xyz[3], Float_t sigmaY, Float_t sigmaZ, AliTrackPoint &point);
56 void ConvertTrackPointsToLocalClusters(AliTrackPointArray &arrPoints, AliToyMCTrack &tr, Double_t t0, Int_t type);
57 Bool_t SetupCluster(AliTPCclusterMI &tempCl, Float_t xyz[3], Int_t sec, Double_t t0);
59 void SetOutputFileName(const char* file) { fOutputFileName=file; }
60 const char* GetOutputFileName() const { return fOutputFileName.Data(); }
62 void SetSpaceCharge(EEpsilon epsilon, EGasType gasType=kNeCO2_9010, ECollRate collRate=k50kHz, ECorrection corrType=kLookup);
63 void SetSpaceChargeFile(const char* file) { fCorrectionFile=file; }
65 Int_t GetSector(Float_t xyz[3]);
67 void InitSpaceCharge();
69 void SetStepCorrection(Bool_t step=kTRUE) { fUseStepCorrection=step; }
70 Bool_t GetStepCorrection() const { return fUseStepCorrection; }
72 void SetUseMaterialBudget(Bool_t use) { fUseMaterialBudget=use; }
73 Bool_t GetUseMaterialBudget() const { return fUseMaterialBudget; }
75 void SetIsLaser(Bool_t use) { fIsLaser=use; }
76 Bool_t GetIsLaser() const { return fIsLaser; }
79 AliTPCParam *fTPCParam;
80 AliToyMCEvent *fEvent;
82 Bool_t ConnectOutputFile();
83 Bool_t CloseOutputFile();
86 UInt_t fCurrentTrack; // unique track id within the current event generation
90 AliToyMCEventGenerator& operator= (const AliToyMCEventGenerator& );
92 AliTPCCorrection *fTPCCorrection;
94 TString fCorrectionFile;
95 TString fOutputFileName;
99 Bool_t fUseStepCorrection;
100 Bool_t fUseMaterialBudget;
103 ClassDef(AliToyMCEventGenerator, 1)