1 #ifndef PHG4ParticleGeneratorBase_H__
2 #define PHG4ParticleGeneratorBase_H__
8 #include <gsl/gsl_rng.h>
24 virtual void set_name(
const std::string &particle =
"proton");
25 virtual void set_pid(
const int pid);
26 virtual void set_mom(
const double x,
const double y,
const double z);
27 virtual void set_vtx(
const double x,
const double y,
const double z);
35 virtual void Print(
const std::string &what =
"ALL")
const;
36 virtual void AddParticle(
const std::string &particle,
const double x,
const double y,
const double z);
37 virtual void AddParticle(
const int pid,
const double x,
const double y,
const double z);
43 void set_seed(
const unsigned int iseed);
50 double get_mass(
const int pdgcode)
const;
virtual double get_vtx_x() const
virtual void Print(const std::string &what="ALL") const
void set_reuse_existing_vertex(const int i=1)
void CheckAndCreateParticleVector()
virtual void AddParticle(const std::string &particle, const double x, const double y, const double z)
virtual int ReuseExistingVertex(PHCompositeNode *topNode)
gsl_rng * RandomGenerator
virtual void set_t0(const double t)
virtual double get_vtx_y() const
virtual ~PHG4ParticleGeneratorBase()
std::string get_pdgname(const int pdgcode) const
virtual void set_pid(const int pid)
std::vector< PHG4Particle * > particlelist
virtual double get_vtx_z() const
virtual int InitRun(PHCompositeNode *topNode)
PHG4ParticleGeneratorBase(const std::string &name="GENERATORBASE")
virtual void set_vtx(const double x, const double y, const double z)
unsigned int get_seed() const
virtual int process_event(PHCompositeNode *topNode)
virtual double get_t0() const
virtual void Embed(const int i=1)
int get_reuse_existing_vertex() const
void SetParticleId(PHG4Particle *particle, PHG4InEvent *ineve)
virtual void set_name(const std::string &particle="proton")
virtual void set_mom(const double x, const double y, const double z)
void set_seed(const unsigned int iseed)
double get_mass(const int pdgcode) const
int get_pdgcode(const std::string &name) const
int reuse_existing_vertex