CMS 3D CMS Logo

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 #include "boost/shared_ptr.hpp"
24 
25 namespace edm
26 {
27 
28  class BaseFlatGunProducer : public one::EDProducer<one::WatchRuns,
29  EndRunProducer>
30  {
31 
32  public:
34  ~BaseFlatGunProducer() override;
35  void beginRun(const edm::Run & r, const edm::EventSetup&) override;
36  void endRun(edm::Run const& r, const edm::EventSetup&) override;
37  void endRunProduce(edm::Run& r, const edm::EventSetup&) override;
38 
39  private:
40 
41  protected:
42 
43  // non-virtuals ! this and only way !
44  //
45  // data members
46 
47  // gun particle(s) characteristics
48  std::vector<int> fPartIDs ;
49  double fMinEta ;
50  double fMaxEta ;
51  double fMinPhi ;
52  double fMaxPhi ;
53 
54  // the event format itself
55  HepMC::GenEvent* fEvt;
56 
57  // HepMC/HepPDT related things
58  // (for particle/event construction)
59  //std::string fPDGTablePath ;
60  //std::string fPDGTableName ;
61  // DefaultConfig::ParticleDataTable* fPDGTable;
62  // DefaultConfig::ParticleDataTable* fTestTable ;
63  // ESHandle<DefaultConfig::ParticleDataTable> fPDGTable ;
65 
66  int fVerbosity ;
67 
69 
70  };
71 }
72 
73 #endif
void endRun(edm::Run const &r, const edm::EventSetup &) override
BaseFlatGunProducer(const ParameterSet &)
void endRunProduce(edm::Run &r, const edm::EventSetup &) override
ESHandle< HepPDT::ParticleDataTable > fPDGTable
void beginRun(const edm::Run &r, const edm::EventSetup &) override
std::vector< int > fPartIDs
HLT enums.
Definition: Run.h:43