Fix for raw ctp decoding (Marek)
[u/mrichter/AliRoot.git] / STEER / STEER / AliGenerator.h
index cdb5d23..0bfd1be 100644 (file)
@@ -53,6 +53,7 @@ class AliGenerator : public TNamed, public AliRndm
     virtual void SetNumberParticles(Int_t npart=100) {fNpart=npart;}
     virtual Int_t NumberParticles() const {return fNpart;}
     virtual void SetThetaRange(Float_t thetamin=0, Float_t thetamax=180);
+    virtual void GenerateN(Int_t ntimes);
     virtual void Generate()=0;
     virtual void SetParentWeight(Float_t wgt) {fParentWeight=wgt;}
     virtual void SetChildWeight(Float_t wgt)  {fChildWeight=wgt;}    
@@ -60,11 +61,15 @@ class AliGenerator : public TNamed, public AliRndm
     virtual void SetVertexSmear(VertexSmear_t smear) {fVertexSmear = smear;}
     virtual void SetCutVertexZ(Float_t cut=999999.) {fCutVertexZ = cut;}
     virtual void SetVertexSource(VertexSource_t source = kInternal) {fVertexSource = source;}
-    virtual void SetVertex(Float_t vx, Float_t vy, Float_t vz)
-       {fVertex[0] = vx; fVertex[1] = vy; fVertex[2] = vz;}
+    virtual void SetVertex(Float_t vx, Float_t vy, Float_t vz, Float_t t = 0)
+    {fVertex[0] = vx; fVertex[1] = vy; fVertex[2] = vz; fTime = t;}
     void SetVertexGenerator(AliVertexGenerator* vertexGenerator)
       {fVertexGenerator = vertexGenerator; fVertexSource = kExternal; fVertexSmear = kPerEvent;}
     void SetPileUpTimeWindow(Float_t pileUpTimeW) {fPileUpTimeWindow = pileUpTimeW;}
+    virtual void SetTime(Float_t time)
+       {fTime = time;}
+    virtual void SetTimeOrigin(Float_t timeorig)
+        {fTimeOrigin = timeorig;}
     
     virtual void SetTrackingFlag(Int_t flag=1) {fTrackIt=flag;}
     void Vertex();
@@ -75,6 +80,7 @@ class AliGenerator : public TNamed, public AliRndm
     virtual TGenerator* GetMC() const {return fMCEvGen;}
     virtual void AddHeader(AliGenEventHeader* /*header*/) {;}
     virtual void SetContainer(AliGenerator* container) {fContainer = container;}
+    virtual void SetEventPlane(Float_t evPlane) {fEvPlane = evPlane; }
 
   // Getters
 
@@ -143,6 +149,10 @@ class AliGenerator : public TNamed, public AliRndm
     TArrayF     fOrigin;     // Origin of event
     TArrayF     fOsigma;     // Sigma of the Origin of event
     TArrayF     fVertex;        //! Vertex of current event
+    
+    Float_t     fTimeOrigin; // Time0 origin in a run or event sample
+    Float_t     fTime;       // Event time smeared around time0 origin using sigma vertex
+    Float_t     fEvPlane;    // the event plane 
 
     AliStack*   fStack;         //! Local pointer to stack
     AliGenerator* fContainer;   //! Local pointer to container
@@ -170,7 +180,7 @@ class AliGenerator : public TNamed, public AliRndm
     AliGenerator(const AliGenerator &gen);
     AliGenerator & operator=(const AliGenerator &gen);
 
-    ClassDef(AliGenerator,4) // Base class for event generators
+    ClassDef(AliGenerator,5) // Base class for event generators
 };
 
 #endif