CMS 3D CMS Logo

CepGenEventGenerator.h
Go to the documentation of this file.
1 // CepGen-CMSSW interfacing module
2 // 2022-2024, Laurent Forthomme
3 
4 #ifndef GeneratorInterface_CepGenInterface_CepGenEventGenerator_h
5 #define GeneratorInterface_CepGenInterface_CepGenEventGenerator_h
6 
10 
11 #include <CepGen/Core/ParametersList.h>
12 #include <CepGen/Generator.h>
13 
14 namespace gen {
16  public:
18  virtual ~CepGenEventGenerator();
19 
20  bool readSettings(int) { return true; }
21  bool declareStableParticles(const std::vector<int>&) { return true; }
22  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
23 
26  bool decay() { return true; } // NOT used - let's call it "design imperfection"
27  bool residualDecay() { return true; }
28 
29  void finalizeEvent() {}
30  void statistics() {}
31 
32  const char* classname() const { return "CepGenEventGenerator"; }
33  const std::vector<std::string>& doSharedResources() const override { return shared_resources_; }
34 
35  private:
37  const cepgen::ParametersList proc_params_;
38  std::vector<std::pair<std::string, cepgen::ParametersList> > modif_modules_, output_modules_;
39  const std::vector<std::string> shared_resources_;
40  HepMC::GenCrossSection xsec_;
41  };
42 } // namespace gen
43 
44 #endif
const std::vector< std::string > & doSharedResources() const override
HepMC::GenCrossSection xsec_
const std::vector< std::string > shared_resources_
std::vector< std::pair< std::string, cepgen::ParametersList > > modif_modules_
const char * classname() const
std::vector< std::pair< std::string, cepgen::ParametersList > > output_modules_
const cepgen::ParametersList proc_params_
bool declareSpecialSettings(const std::vector< std::string > &)
bool declareStableParticles(const std::vector< int > &)
CepGenEventGenerator(const edm::ParameterSet &, edm::ConsumesCollector &&)