1 #ifndef AliToyMCEvent_H
2 #define AliToyMCEvent_H
5 #include <TClonesArray.h>
6 #include "AliToyMCTrack.h"
8 class AliToyMCEvent : public TObject {
11 AliToyMCEvent(const AliToyMCEvent &event);
12 virtual ~AliToyMCEvent() {}
13 AliToyMCEvent& operator = (const AliToyMCEvent &event);
20 static void SetInitialEventCounter(Int_t iev) { fgEvCounter=iev; }
22 AliToyMCTrack* AddTrack(const AliToyMCTrack &track);
23 AliToyMCTrack* AddTrack(Double_t xyz[3],Double_t pxpypz[3],
24 Double_t cv[21],Short_t sign);
26 Int_t GetNumberOfTracks() const { return fTracks.GetEntriesFast(); }
27 const AliToyMCTrack* GetTrack(Int_t track) const { return static_cast<const AliToyMCTrack*>(fTracks.At(track)); }
29 void SetT0 (Float_t time) { fT0 = time; }
30 void SetX(Float_t var) { fX = var; }
31 void SetY(Float_t var) { fY = var; }
32 void SetZ(Float_t var) { fZ = var; }
34 UInt_t GetEventNumber() const {return fEventNumber; }
35 Float_t GetT0() const {return fT0; }
36 Float_t GetX() const {return fX; }
37 Float_t GetY() const {return fY; }
38 Float_t GetZ() const {return fZ; }
40 void SetEventType(EEventType type) { fEventType=type; }
41 EEventType GetEventType() const { return fEventType; }
43 void SetSCscale(Float_t val) { fSCscale = val; }
44 Float_t GetSCscale() const { return fSCscale; }
46 void SetSCscaleChi2(Float_t val) { fSCscaleChi2 = val; }
47 Float_t GetSCscaleChi2() const { return fSCscaleChi2; }
50 static Int_t fgEvCounter; // static counter
52 UInt_t fEventNumber; // event number
54 EEventType fEventType; // type of the event
56 Float_t fT0; // Interaction time of the event
57 Float_t fX; // x-vertex position
58 Float_t fY; // y-vertex position
59 Float_t fZ; // z-vertex position
61 Float_t fSCscale; // scaling parameter for space charge correction
62 Float_t fSCscaleChi2; // chi2 of scaling parameter for space charge correction
64 TClonesArray fTracks; // array of tracks
66 ClassDef(AliToyMCEvent, 2); // MC event class