CMS 3D CMS Logo

BaseEvtVtxGenerator.h
Go to the documentation of this file.
1 #ifndef IOMC_BaseEvtVtxGenerator_H
2 #define IOMC_BaseEvtVtxGenerator_H
3 /*
4 */
5 
8 
9 #include "TMatrixD.h"
10 
11 namespace HepMC {
12  class FourVector;
13 }
14 
15 namespace CLHEP {
16  class HepRandomEngine;
17 }
18 
19 namespace edm {
20  class HepMCProduct;
21 }
22 
24 public:
25  // ctor & dtor
26  explicit BaseEvtVtxGenerator(const edm::ParameterSet&);
27  ~BaseEvtVtxGenerator() override;
28 
29  void produce(edm::Event&, const edm::EventSetup&) override;
30 
31  virtual HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const = 0;
35  //virtual CLHEP::Hep3Vector* lastVertex() { return fVertex; }
36  //virtual HepMC::FourVector* lastVertex() { return fVertex; }
37 
38  virtual TMatrixD const* GetInvLorentzBoost() const = 0;
39 
40 private:
42 };
43 
44 #endif
void produce(edm::Event &, const edm::EventSetup &) override
BaseEvtVtxGenerator(const edm::ParameterSet &)
edm::EDGetTokenT< edm::HepMCProduct > sourceToken
virtual TMatrixD const * GetInvLorentzBoost() const =0
HLT enums.
virtual HepMC::FourVector newVertex(CLHEP::HepRandomEngine *) const =0