File indexing completed on 2023-03-17 11:10:12
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
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