File indexing completed on 2024-04-06 12:14:13
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