Code review
[u/mrichter/AliRoot.git] / ZDC / AliGenZDC.h
index a7825decb574a7495350f496922d61a0d74c61bc..e225ebbabe334180549dc2a0dc6aaf5109541aeb 100644 (file)
@@ -24,56 +24,52 @@ public:
   AliGenZDC();
   AliGenZDC(Int_t npart);
   virtual      ~AliGenZDC() {}
-  virtual void Init();
-  virtual void Generate();
+  void Init();
+  void Generate();
+  
+  // Fermi smearing, beam divergence and crossing angle               
+  void FermiTwoGaussian(Float_t A, Float_t Z, Double_t *pp, 
+        Double_t *probintp, Double_t *probintn);
+  void ExtractFermi(Int_t id, Double_t *pp, Double_t *probintp, 
+        Double_t *probintn, Double_t *pFermi);
+  void BeamDivCross(Int_t icross, Float_t divergence, Float_t crossangle, 
+        Int_t crossplane, Double_t *pLab);
+  void AddAngle(Double_t theta1, Double_t phi1, Double_t theta2,
+               Double_t phi2, Double_t *angle);
   
   // Parameters that could be set for generation
-  virtual void SetParticle(Int_t ipart) {fIpart=ipart;};
-  virtual void SetMomentum(Float_t ptot) {fPMin=ptot; fPMax=ptot;};
-  virtual void SetDirection(Float_t zpsrp, Float_t cosx, Float_t cosy, Float_t cosz)
-                {fPseudoRapidity=zpsrp; fCosx=cosx; fCosy=cosy; fCosz=cosz;};
-  virtual void SetFermi(Int_t Fflag) {fFermiflag=Fflag;};
-  virtual void SetDiv(Float_t bmdiv, Float_t bmcra, Int_t iflcr) 
-                {fBeamDiv=bmdiv; fBeamCrossAngle=bmcra; fBeamCrossPlane=iflcr;};
+  void SetParticle(Int_t ipart) {fIpart=ipart;};
+  void SetMomentum(Float_t ptot) {fPMin=ptot; fPMax=ptot;};
+  void SetDirection(Float_t zpsrp, Float_t cosx, Float_t cosy, Float_t cosz)
+          {fPseudoRapidity=zpsrp; fCosx=cosx; fCosy=cosy; fCosz=cosz;};
+  void SetFermi(Int_t Fflag) {fFermiflag=Fflag;};
+  void SetDiv(Float_t bmdiv, Float_t bmcra, Int_t iflcr) 
+          {fBeamDiv=bmdiv; fBeamCrossAngle=bmcra; fBeamCrossPlane=iflcr;};
+  void SetDebug() {fDebugOpt = 1;};
   
   // Getters 
   Double_t GetFermi2p(Int_t key) {return fProbintp[key];}
   Double_t GetFermi2n(Int_t key) {return fProbintn[key];}
-  Float_t  GetInMomentum(Int_t key) {return fPInit[key];};
-  Float_t  GetBoostMomentum(Int_t key) {return fBoostP[key];};
-  Float_t  GetDivMomentum(Int_t key) {return fDivP[key];};
-  Float_t  GetTrackMomentum(Int_t key) {return fPTrack[key];};
-  
-  // Fermi smearing, beam divergence and crossing angle               
-  virtual void FermiTwoGaussian(Double_t A, Float_t Z, Double_t* pp, 
-                Double_t* probintp, Double_t* probintn);
-  virtual void ExtractFermi(Int_t id, Double_t* pp, Double_t* probintp, 
-                Double_t* probintn, Double_t* pFermi);
-  virtual void BeamDivCross(Int_t icross, Float_t divergence, Float_t crossangle, 
-                Int_t crossplane, Double_t* pLab);
-  virtual void AddAngle(Double_t theta1, Double_t phi1, Double_t theta2,
-               Double_t phi2, Double_t* angle);
+
 protected:
-  Int_t    fIpart;              // Particle to generate
-  Float_t  fCosx;               // Cos x of particle
-  Float_t  fCosy;               // Cos y of particle
-  Float_t  fCosz;               // Cos z of particle
-  Float_t  fPseudoRapidity;     // Pseudo Rapidity of particle
-  Int_t    fFermiflag;          // Fermi momentum flag
-  Float_t  fBeamDiv;            // Beam divergence
-  Float_t  fBeamCrossAngle;     // Beam crossing angle
-  Int_t    fBeamCrossPlane;     // Beam crossing plane
-  Double_t fProbintp[201];      // for protons
-  Double_t fProbintn[201];      // for neutrons
-  Double_t fPp[201];            // for protons
-  Double_t fP[3];               // temporary momentum
-  Float_t  fPInit[3];           // initial momentum 
-  Float_t  fBoostP[3];          // boosted momentum
-  Float_t  fDivP[3];            // divergence
-  Float_t  fPTrack[3];          // track momentum
+  Int_t    fIpart;              // Particle to be generated
+  Float_t  fCosx;               // Director cos of the track - x direction
+  Float_t  fCosy;               // Director cos of the track - y direction 
+  Float_t  fCosz;               // Director cos of the track - z direction
+  Float_t  fPseudoRapidity;     // Pseudorapidity (!=0 -> eta of the particle)
+                                // (=0 -> director cos of the track)
+  Int_t    fFermiflag;          // Fermi momentum flag (=1 -> Fermi smearing)
+  Float_t  fBeamDiv;            // Beam divergence (angle in rad)
+  Float_t  fBeamCrossAngle;     // Beam crossing angle (angle in rad)
+  Int_t    fBeamCrossPlane;     // Beam crossing plane 
+                                // (=1 -> horizontal, =2 -> vertical plane)
+  Double_t fProbintp[201];      // Protons momentum distribution due to Fermi 
+  Double_t fProbintn[201];      // Neutrons momentum distribution due to Fermi 
+  Double_t fPp[201];            // 
+  Int_t    fDebugOpt;          // Option for debugging 
   
-   ClassDef(AliGenZDC,1)  // Generator for AliZDC class
+   ClassDef(AliGenZDC,1)       // Generator for AliZDC class
 };
 
 #endif