File indexing completed on 2025-01-21 01:39:49
0001 #ifndef gen_PhotosInterface_PhotosInterfaceBase_h
0002 #define gen_PhotosInterface_PhotosInterfaceBase_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "HepMC/GenEvent.h"
0007 #include "HepMC3/GenEvent.h"
0008 #include <vector>
0009 #include "CLHEP/Random/RandomEngine.h"
0010 #include "HepMC/SimpleVector.h"
0011 #include <string>
0012 #include "CLHEP/Random/RandomEngine.h"
0013
0014 namespace gen {
0015 class PhotosInterfaceBase {
0016 public:
0017 PhotosInterfaceBase() {}
0018 PhotosInterfaceBase(const edm::ParameterSet&) {}
0019 virtual ~PhotosInterfaceBase() {}
0020
0021 virtual void SetDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) {}
0022 virtual void init() = 0;
0023 virtual const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
0024 virtual HepMC::GenEvent* apply(HepMC::GenEvent* evt) { return evt; }
0025 virtual HepMC3::GenEvent* apply(HepMC3::GenEvent* evt) { return evt; }
0026 virtual void avoidTauLeptonicDecays() = 0;
0027 ;
0028 virtual void configureOnlyFor(int) = 0;
0029 virtual void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) = 0;
0030 virtual void statistics() {}
0031
0032 protected:
0033 std::vector<std::string> fSpecialSettings;
0034 };
0035 }
0036
0037 #endif