CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
BaseFlatGunProducer.h
Go to the documentation of this file.
1 #ifndef BaseFlatGunProducer_H
2 #define BaseFlatGunProducer_H
3 
9 #include <string>
10 
11 #include "HepPDT/defs.h"
12 #include "HepPDT/TableBuilder.hh"
13 #include "HepPDT/ParticleDataTable.hh"
14 
15 #include "HepMC/GenEvent.h"
16 
21 
22 #include <memory>
23 
24 namespace edm {
25 
26  class BaseFlatGunProducer : public one::EDProducer<one::WatchRuns, EndRunProducer> {
27  public:
29  ~BaseFlatGunProducer() override;
30  void beginRun(const edm::Run& r, const edm::EventSetup&) override;
31  void endRun(edm::Run const& r, const edm::EventSetup&) override;
32  void endRunProduce(edm::Run& r, const edm::EventSetup&) override;
33 
34  private:
36 
37  protected:
38  // non-virtuals ! this and only way !
39  //
40  // data members
41 
42  // gun particle(s) characteristics
43  std::vector<int> fPartIDs;
44  double fMinEta;
45  double fMaxEta;
46  double fMinPhi;
47  double fMaxPhi;
48 
49  // the event format itself
51 
52  // HepMC/HepPDT related things
53  // (for particle/event construction)
54  //std::string fPDGTablePath ;
55  //std::string fPDGTableName ;
56  // DefaultConfig::ParticleDataTable* fPDGTable;
57  // DefaultConfig::ParticleDataTable* fTestTable ;
58  // ESHandle<DefaultConfig::ParticleDataTable> fPDGTable ;
60 
62 
64  };
65 } // namespace edm
66 
67 #endif
void endRun(edm::Run const &r, const edm::EventSetup &) override
BaseFlatGunProducer(const ParameterSet &)
void endRunProduce(edm::Run &r, const edm::EventSetup &) override
const ESGetToken< HepPDT::ParticleDataTable, edm::DefaultRecord > fPDGTableToken
ESHandle< HepPDT::ParticleDataTable > fPDGTable
void beginRun(const edm::Run &r, const edm::EventSetup &) override
std::vector< int > fPartIDs
Definition: Run.h:45