Removing MC position of the primary vertex (Jouri)
[u/mrichter/AliRoot.git] / THbtp / AliGenHBTprocessor.h
index fd142657a769cc9324db655dbfed7e3bcb743b49..cace1765b9fe43a28f262040c9aae01a1df35569 100644 (file)
 #ifndef ALIGENHBTPROCESSOR_H
 #define ALIGENHBTPROCESSOR_H
 
-#include <TPDGCode.h>
-
 #include "AliGenerator.h"
+#include "TPDGCode.h"
 
 class THBTprocessor;
 class TClonesArray;
+class TParticle;
 
 enum {kHBTPMaxParticleTypes = 50};
 
@@ -30,7 +30,6 @@ class AliGenHBTprocessor : public AliGenerator
 
   public:
     AliGenHBTprocessor();
-    AliGenHBTprocessor(const AliGenHBTprocessor& in);
     virtual ~AliGenHBTprocessor();
 
     virtual void Init();
@@ -76,9 +75,7 @@ class AliGenHBTprocessor : public AliGenerator
     virtual void SetPyRange(Float_t pymin = -1.0, Float_t pymax = 1.0);  
     virtual void SetPzRange(Float_t pzmin = -3.6, Float_t pzmax = 3.6);
     
-    virtual void SetPhiRange(Float_t phimin = 0.0, Float_t phimax = 360.0);//Angle in degrees
-                                                                                   //coherent with AliGenCocktail
-                                                                                   //incohernet with AliGenerator
+    virtual void SetPhiRange(Float_t phimin = -180.0, Float_t phimax = 180.0);//Phi angle
     virtual void SetEtaRange(Float_t etamin = -1.5, Float_t etamax = 1.5);//Pseudorapidity
     void SetThetaRange(Float_t thetamin = 0, Float_t thetamax = 180); //Azimuthal angle, override AliGenerator method
                                                                       //which uses this, core fortran HBTProcessor uses Eta (pseudorapidity)
@@ -105,6 +102,30 @@ class AliGenHBTprocessor : public AliGenerator
     virtual void SetBinSize3DCoarseMesh(Float_t x=0.08);
       
     virtual void SetNBins3DFineProjectMesh(Int_t n =3 );
+
+    virtual void SetPrintFull(Int_t flag = 1);
+    
+/************* E V E N T   M E R G E ******************/  
+    
+    Int_t        GetNumberOfEvents();
+    Int_t        GetNumberOfTracks();
+    void         SetActiveEventNumber(Int_t n);
+    TParticle*   GetTrack(Int_t n);
+    void         SetNEventsToMerge(Int_t nev);
+    
+    
+    //conveerts Eta (pseudorapidity) to etha(azimuthal angle). Returns radians 
+    static Double_t EtaToTheta(Double_t arg){return 2.*TMath::ATan(TMath::Exp(-arg));}
+    //converts tetha(azimuthal angle) to Eta (pseudorapidity). Argument in radians
+    static Double_t ThetaToEta(Double_t arg);
+    //converts Degrees To Radians
+    static Double_t DegreesToRadians(Double_t arg){return arg*TMath::Pi()/180.;}
+    //converts Radians To Degrees 
+    static Double_t RadiansToDegrees(Double_t arg){return arg*180./TMath::Pi();}
+    
+    static Int_t  GetDebug() {return fgDebug;}
+//    static Int_t  GetDebug() {return fgDebug;}
+    
 /***********************************************************************/
 /* * * * * * *    P R O T E C T E D   A R E A    * * * * * * * * * * * */ 
 /***********************************************************************/
@@ -227,20 +248,19 @@ class AliGenHBTprocessor : public AliGenerator
       Float_t    fDelpz;                 // Mom. space sector cell size - pz(GeV/c)
 
 
+      Int_t fEventMerge;                //number of events that are masked as an one event
+      Int_t fActiveStack;               //current active stack
+
+      static Int_t    fgDebug;          //debug level
+
       /******* P R O T E C T E D   M E T H O D S  *****/
-  private:
-  public:    
-        //conveerts Eta (pseudorapidity) to etha(azimuthal angle). Returns radians 
-    static Double_t EtaToTheta(Double_t arg){return 2.*TMath::ATan(TMath::Exp(-arg));}
-        //converts etha(azimuthal angle) to Eta (pseudorapidity). Argument in radians
-    static Double_t ThetaToEta(Double_t arg);
-        //converts Degrees To Radians
-    static Double_t DegreesToRadians(Double_t arg){return arg*TMath::Pi()/180.;}
-          //converts Radians To Degrees 
-    static Double_t RadiansToDegrees(Double_t arg){return arg*180./TMath::Pi();}
-    
+      void GetTrackEventIndex(Int_t n, Int_t &evno, Int_t &index) const; //returns event(stack) number and 
+
+ private:
+      AliGenHBTprocessor(const AliGenHBTprocessor& in);
+      AliGenHBTprocessor & operator=(const AliGenHBTprocessor& in);
+
     ClassDef(AliGenHBTprocessor,1) // Interface class for AliMevsim
     
 };
-#include <Riostream.h>
 #endif