#ifndef ALIGENHBTPROCESSOR_H
#define ALIGENHBTPROCESSOR_H
-#include <TPDGCode.h>
-
#include "AliGenerator.h"
+#include "TPDGCode.h"
class THBTprocessor;
class TClonesArray;
+class TParticle;
enum {kHBTPMaxParticleTypes = 50};
public:
AliGenHBTprocessor();
- AliGenHBTprocessor(const AliGenHBTprocessor& in);
virtual ~AliGenHBTprocessor();
virtual void Init();
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)
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 * * * * * * * * * * * */
/***********************************************************************/
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