File indexing completed on 2025-08-06 08:19:22
0001
0002
0003 #ifndef G4MAIN_PHG4PARTICLEGENERATORD0_H
0004 #define G4MAIN_PHG4PARTICLEGENERATORD0_H
0005
0006 #include "PHG4ParticleGeneratorBase.h"
0007
0008 #include <string> // for string
0009
0010 class PHCompositeNode;
0011 class TF1;
0012
0013 class PHG4ParticleGeneratorD0 : public PHG4ParticleGeneratorBase
0014 {
0015 public:
0016 PHG4ParticleGeneratorD0(const std::string &name = "D0GEN");
0017 ~PHG4ParticleGeneratorD0() override {}
0018
0019 int InitRun(PHCompositeNode *topNode) override;
0020 int process_event(PHCompositeNode *topNode) override;
0021
0022 void set_eta_range(const double eta_min, const double eta_max);
0023 void set_rapidity_range(const double y_min, const double y_max);
0024 void set_mom_range(const double mom_min, const double mom_max);
0025 void set_pt_range(const double pt_min, const double pt_max);
0026 void set_vtx_zrange(const double zmin, const double zmax);
0027 void set_mass(const double mass);
0028
0029 protected:
0030 double vtx_zmin = -10.;
0031 double vtx_zmax = 10.;
0032 double y_min = 0.;
0033 double y_max = 0.;
0034 double eta_min = -1.;
0035 double eta_max = 1.;
0036 double mom_min = 0.;
0037 double mom_max = 10.;
0038 double pt_min = 4.;
0039 double pt_max = 4.;
0040 double mass = 1.86486;
0041 double m1 = 0.493677;
0042 double m2 = 0.13957018;
0043
0044 TF1 *fsin = nullptr;
0045 TF1 *frap = nullptr;
0046 TF1 *fpt = nullptr;
0047 };
0048
0049 #endif