Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:07:33

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 // LHE Run
0011 #include "SimDataFormats/GeneratorProducts/interface/LHERunInfoProduct.h"
0012 #include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
0013 
0014 // LHE Event
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 }  // namespace gen
0039 
0040 #endif