Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:00

0001 #ifndef IOMC_EventVertexGenerators_PassThroughEvtVtxGenerator_H
0002 #define IOMC_EventVertexGenerators_PassThroughEvtVtxGenerator_H
0003 /*
0004 */
0005 
0006 #include "IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h"
0007 #include "FWCore/Framework/interface/stream/EDProducer.h"
0008 #include "FWCore/Utilities/interface/EDGetToken.h"
0009 
0010 #include "TMatrixD.h"
0011 
0012 namespace HepMC {
0013   class FourVector;
0014 }
0015 
0016 namespace CLHEP {
0017   class HepRandomEngine;
0018 }
0019 
0020 namespace edm {
0021   class HepMCProduct;
0022 }
0023 
0024 class PassThroughEvtVtxGenerator : public BaseEvtVtxGenerator {
0025 public:
0026   // ctor & dtor
0027   explicit PassThroughEvtVtxGenerator(const edm::ParameterSet&);
0028   ~PassThroughEvtVtxGenerator() override;
0029 
0030   void produce(edm::Event&, const edm::EventSetup&) override;
0031 
0032   HepMC::FourVector newVertex(CLHEP::HepRandomEngine*) const override;
0033 
0034   TMatrixD const* GetInvLorentzBoost() const override { return nullptr; };
0035 
0036 private:
0037   edm::EDGetTokenT<edm::HepMCProduct> sourceToken;
0038 };
0039 
0040 #endif