Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:09

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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