Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:19:22

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