File indexing completed on 2024-09-08 23:51:48
0001 #ifndef gen_TauolaInterface_TauolaInterfaceBase_h
0002 #define gen_TauolaInterface_TauolaInterfaceBase_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "HepMC/GenEvent.h"
0007 #include <vector>
0008 #include "CLHEP/Random/RandomEngine.h"
0009
0010
0011 #include "SimDataFormats/GeneratorProducts/interface/LHERunInfoProduct.h"
0012 #include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
0013
0014
0015 #include "SimDataFormats/GeneratorProducts/interface/LHEEventProduct.h"
0016 #include "GeneratorInterface/LHEInterface/interface/LHEEvent.h"
0017
0018 namespace gen {
0019 class TauolaInterfaceBase {
0020 public:
0021 TauolaInterfaceBase() {}
0022 TauolaInterfaceBase(const edm::ParameterSet&) {}
0023 virtual ~TauolaInterfaceBase() {}
0024
0025 virtual void SetDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) {}
0026 virtual void enablePolarization() {}
0027 virtual void disablePolarization() {}
0028 virtual void init(const edm::EventSetup&) {}
0029 virtual const std::vector<int>& operatesOnParticles() { return fPDGs; }
0030 virtual HepMC::GenEvent* decay(HepMC::GenEvent* evt) { return evt; }
0031 virtual void statistics() {}
0032 virtual void setRandomEngine(CLHEP::HepRandomEngine* v) = 0;
0033 virtual void SetLHE(lhef::LHEEvent* l) {}
0034
0035 protected:
0036 std::vector<int> fPDGs;
0037 };
0038 }
0039
0040 #endif