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/Generator.h>
12 
13 namespace gen {
15  public:
17  virtual ~CepGenEventGenerator();
18 
19  bool readSettings(int) { return true; }
20  bool declareStableParticles(const std::vector<int>&) { return true; }
21  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
22 
25  bool decay() { return true; } // NOT used - let's call it "design imperfection"
26  bool residualDecay() { return true; }
27 
28  void finalizeEvent() {}
29  void statistics() {}
30 
31  const char* classname() const { return "CepGenEventGenerator"; }
32  const std::vector<std::string>& doSharedResources() const override { return shared_resources_; }
33 
34  private:
36  const cepgen::ParametersList proc_params_;
37  std::vector<std::pair<std::string, cepgen::ParametersList> > modif_modules_, output_modules_;
38  const std::vector<std::string> shared_resources_;
39  HepMC::GenCrossSection xsec_;
40  };
41 } // namespace gen
42 
43 #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 &&)