BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
MpdHypYPtGenerator.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmAnaHypYPtGenerator header file -----
3// ----- Created 03/10/04 by E. Kryshen -----
4// ----- Updated 10/02/10 by A. Zinchenko for MPD (with name change) -----
5// -------------------------------------------------------------------------
6
7/** CbmAnaHypYPtGenerator.h
8 ** @author Evgeny Kryshen <e.kryshen@gsi.de>
9 **
10 ** The CbmAnaHypYPtGenerator generates particles with a given
11 ** distribution over pt (dn/dpt = pt*exp(-mt/T)
12 ** and rapidity (Gaussian) with fixed multiplicity per event.
13 ** Derived from FairGenerator.
14 */
15
16#ifndef MPDHYPYPTGENERATOR_H
17#define MPDHYPYPTGENERATOR_H
18
19#include "FairGenerator.h"
20#include "TF1.h"
21
22using namespace std;
23
24class FairPrimaryGenerator;
25
27{
28 public:
29 /** Default constructor. */
31
32 /** Constructor with PDG-ID, multiplicity
33 **@param pdgid Particle type (PDG encoding)
34 **@param mult Multiplicity (default is 1)
35 **@param yield
36 **/
37 MpdHypYPtGenerator(Int_t pdgid, Int_t mult = 1, Double_t yield = -1.0);
38
39 /** Destructor */
40 virtual ~MpdHypYPtGenerator() {};
41
42 /** Modifiers */
43 inline void SetPDGType(Int_t pdg) { fPDGType = pdg; };
44 inline void SetMultiplicity(Int_t mult) { fMult = mult; };
45 // inline void SetDistributionPt (Double_t T=0.154319) {fT=T;};
46 inline void SetDistributionPt(Double_t T = 0.223) { fT = T; }; // AZ - for Omega- @ 9 GeV/n AuAu UrQMD
47 // inline void SetDistributionY (Double_t y0=1.98604, Double_t sigma=0.617173) {fY0=y0;fSigma=sigma;};
48 inline void SetDistributionY(Double_t y0 = 0, Double_t sigma = 0.72)
49 {
50 fY0 = y0;
51 fSigma = sigma;
52 }; // AZ - for Omega- @ 9 GeV/n AuAu UrQMD
53 inline void SetRangePt(Double_t ptMin = 0, Double_t ptMax = 3)
54 {
55 fPtMin = ptMin;
56 fPtMax = ptMax;
57 };
58
59 /** Initializer */
60 Bool_t Init();
61
62 /** Creates an event with given type and multiplicity.
63 **@param primGen pointer to the CbmPrimaryGenerator
64 */
65 virtual Bool_t ReadEvent(FairPrimaryGenerator* primGen);
66
67 private:
68 Int_t fPDGType; ///< Particle type (PDG encoding)
69 Int_t fMult; ///< Multiplicity
70 Double_t fT; ///< Temperature in the Pt distribution
71 Double_t fY0; ///< Mean rapidity
72 Double_t fSigma; ///< Simga in the rapidity distribution
73 Double_t fPtMin; ///< Max value of Pt
74 Double_t fPtMax; ///< Min value of Pt
75 Double_t fPDGMass; ///< Particle mass [GeV]
76 TF1* fDistPt; //! Pointer to the Pt function
77 Double_t fYield; ///< yield (particle / event)
78
80};
81
82#endif
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
Int_t fPDGType
Particle type (PDG encoding).
Double_t fYield
Pointer to the Pt function.
Double_t fPDGMass
Particle mass [GeV].
Double_t fT
Temperature in the Pt distribution.
Double_t fY0
Mean rapidity.
Double_t fSigma
Simga in the rapidity distribution.
MpdHypYPtGenerator()
Default constructor.
virtual ~MpdHypYPtGenerator()
Destructor.
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Creates an event with given type and multiplicity.
void SetDistributionPt(Double_t T=0.223)
void SetRangePt(Double_t ptMin=0, Double_t ptMax=3)
Int_t fMult
Multiplicity.
Double_t fPtMax
Min value of Pt.
Double_t fPtMin
Max value of Pt.
void SetDistributionY(Double_t y0=0, Double_t sigma=0.72)
Bool_t Init()
Initializer.
void SetPDGType(Int_t pdg)
Modifiers.
void SetMultiplicity(Int_t mult)
Definition json.hpp:4446