]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/Upgrade/AliToyMCEvent.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / TPC / Upgrade / AliToyMCEvent.h
CommitLineData
de0014b7 1#ifndef AliToyMCEvent_H
2#define AliToyMCEvent_H
526ddf0e 3
4
5#include <TClonesArray.h>
de0014b7 6#include "AliToyMCTrack.h"
526ddf0e 7
de0014b7 8class AliToyMCEvent : public TObject {
526ddf0e 9 public:
de0014b7 10 AliToyMCEvent();
11 AliToyMCEvent(const AliToyMCEvent &event);
12 virtual ~AliToyMCEvent() {}
13 AliToyMCEvent& operator = (const AliToyMCEvent &event);
d1cf83f5 14
0403120d 15 enum EEventType {
16 kPhysics=0,
17 kLaser
18 };
19
d1cf83f5 20 static void SetInitialEventCounter(Int_t iev) { fgEvCounter=iev; }
526ddf0e 21
de0014b7 22 AliToyMCTrack* AddTrack(const AliToyMCTrack &track);
0403120d 23 AliToyMCTrack* AddTrack(Double_t xyz[3],Double_t pxpypz[3],
24 Double_t cv[21],Short_t sign);
25
526ddf0e 26 Int_t GetNumberOfTracks() const { return fTracks.GetEntriesFast(); }
de0014b7 27 const AliToyMCTrack* GetTrack(Int_t track) const { return static_cast<const AliToyMCTrack*>(fTracks.At(track)); }
526ddf0e 28
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; }
33
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; }
0403120d 39
40 void SetEventType(EEventType type) { fEventType=type; }
41 EEventType GetEventType() const { return fEventType; }
862220e2 42
43 void SetSCscale(Float_t val) { fSCscale = val; }
44 Float_t GetSCscale() const { return fSCscale; }
45
46 void SetSCscaleChi2(Float_t val) { fSCscaleChi2 = val; }
47 Float_t GetSCscaleChi2() const { return fSCscaleChi2; }
526ddf0e 48
49 private:
862220e2 50 static Int_t fgEvCounter; // static counter
526ddf0e 51
862220e2 52 UInt_t fEventNumber; // event number
0403120d 53
862220e2 54 EEventType fEventType; // type of the event
526ddf0e 55
862220e2 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
526ddf0e 60
862220e2 61 Float_t fSCscale; // scaling parameter for space charge correction
62 Float_t fSCscaleChi2; // chi2 of scaling parameter for space charge correction
63
64 TClonesArray fTracks; // array of tracks
526ddf0e 65
862220e2 66 ClassDef(AliToyMCEvent, 2); // MC event class
526ddf0e 67
68};
69
70#endif