Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace gen
0036 
0037 #endif