File indexing completed on 2025-08-05 08:18:09
0001
0002
0003 #ifndef G4MAIN_PHG4PARTICLEGENERATOR_H
0004 #define G4MAIN_PHG4PARTICLEGENERATOR_H
0005
0006 #include "PHG4ParticleGeneratorBase.h"
0007
0008 #include <cmath>
0009 #include <string> // for string
0010
0011 class PHCompositeNode;
0012
0013 class PHG4ParticleGenerator : public PHG4ParticleGeneratorBase
0014 {
0015 public:
0016 PHG4ParticleGenerator(const std::string &name = "PGENERATOR");
0017 ~PHG4ParticleGenerator() override {}
0018
0019 int process_event(PHCompositeNode *topNode) override;
0020 void set_z_range(const double z_min, const double z_max);
0021 void set_eta_range(const double eta_min, const double eta_max);
0022 void set_phi_range(const double phi_min, const double phi_max);
0023 void set_mom_range(const double mom_min, const double mom_max);
0024 void Print(const std::string &what = "ALL") const override;
0025
0026 protected:
0027 double m_ZMin = -10.;
0028 double m_ZMax = 10.;
0029 double m_EtaMin = -1.;
0030 double m_EtaMax = 1.;
0031 double m_PhiMin = -M_PI;
0032 double m_PhiMax = M_PI;
0033 double m_MomMin = 0.;
0034 double m_MomMax = 10.;
0035 };
0036
0037 #endif