FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairBaseMCGenerator.h
Go to the documentation of this file.
1 /*
2  * FairBaseMCGenerator.h
3  *
4  * Created on: 16 mar 2020
5  * Author: Daniel Wielanek
6  * E-mail: daniel.wielanek@gmail.com
7  * Warsaw University of Technology, Faculty of Physics
8  */
9 #ifndef FAIR_BASEMCGENERATOR_H_
10 #define FAIR_BASEMCGENERATOR_H_
11 
12 #include "FairGenerator.h"
13 
18 {
19  public:
21  {
25  };
31  void SetPDGType(Int_t pdg);
38  void SetVertex(Double_t vx,
39  Double_t vy,
40  Double_t vz,
41  Double_t evx = 0,
42  Double_t evy = 0,
43  Double_t evz = 0,
44  eVertexSmear sm = kBox);
49  void SetMultiplicity(Int_t mult) { fMult = mult; };
50  virtual Bool_t Init();
51  virtual ~FairBaseMCGenerator();
52 
53  protected:
54  FairBaseMCGenerator(const FairBaseMCGenerator &other) = default;
55  FairBaseMCGenerator &operator=(const FairBaseMCGenerator &rhs) = default;
56  Int_t GetPDGType() const { return fPDGType; };
57  Int_t GetMultiplicity() const { return fMult; };
58  Double_t GetPDGMass() const { return fPDGMass; };
62  virtual void GenerateEventParameters();
63  Double_t GetVxAv() const { return fVx; };
64  Double_t GetVyAv() const { return fVy; };
65  Double_t GetVzAv() const { return fVz; };
66  Double_t GetVxRms() const { return fVex; }
67  Double_t GetVyRms() const { return fVey; }
68  Double_t GetVzRms() const { return fVez; }
69  Double_t fX, fY, fZ; // current vertex coordinates [cm]
70  private:
71  Int_t fPDGType; // Particle type (PDG encoding)
72  Int_t fMult; // Multiplicity;
73  eVertexSmear fVertexSmear;
74  Double_t fPDGMass;
75  Double_t fVx, fVy, fVz;
76  Double_t fVex, fVey, fVez;
77  ClassDef(FairBaseMCGenerator, 1);
78 };
79 
80 #endif /* FAIR_BASEMCGENERATOR_H_ */
Double_t GetVyAv() const
Double_t GetVzRms() const
void SetMultiplicity(Int_t mult)
Double_t GetVyRms() const
Double_t GetVzAv() const
Int_t GetPDGType() const
FairBaseMCGenerator & operator=(const FairBaseMCGenerator &rhs)=default
void SetPDGType(Int_t pdg)
Double_t GetVxAv() const
Double_t GetVxRms() const
Double_t GetPDGMass() const
virtual void GenerateEventParameters()
void SetVertex(Double_t vx, Double_t vy, Double_t vz, Double_t evx=0, Double_t evy=0, Double_t evz=0, eVertexSmear sm=kBox)
Int_t GetMultiplicity() const