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 {
25  public:
26 
27  // ctor & dtor
28  explicit BaseEvtVtxGenerator( const edm::ParameterSet& );
29  ~BaseEvtVtxGenerator() override;
30 
31  void produce( edm::Event&, const edm::EventSetup&) override;
32 
33  virtual HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const = 0 ;
37  //virtual CLHEP::Hep3Vector* lastVertex() { return fVertex; }
38  //virtual HepMC::FourVector* lastVertex() { return fVertex; }
39 
40  virtual TMatrixD const* GetInvLorentzBoost() const = 0;
41 
42  private :
43 
45 
46 };
47 
48 #endif
edm::EDGetTokenT< edm::HepMCProduct > sourceToken
HLT enums.