Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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 <vector>
0008 #include "CLHEP/Random/RandomEngine.h"
0009 #include "HepMC/SimpleVector.h"
0010 #include <string>
0011 #include "CLHEP/Random/RandomEngine.h"
0012 
0013 namespace gen {
0014   class PhotosInterfaceBase {
0015   public:
0016     PhotosInterfaceBase(){};
0017     PhotosInterfaceBase(const edm::ParameterSet&){};
0018     virtual ~PhotosInterfaceBase(){};
0019 
0020     virtual void SetDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine){};
0021     virtual void init() = 0;
0022     virtual const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
0023     virtual HepMC::GenEvent* apply(HepMC::GenEvent* evt) { return evt; }
0024     virtual void avoidTauLeptonicDecays() = 0;
0025     ;
0026     virtual void configureOnlyFor(int) = 0;
0027     virtual void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) = 0;
0028     virtual void statistics(){};
0029 
0030   protected:
0031     std::vector<std::string> fSpecialSettings;
0032   };
0033 }  // namespace gen
0034 
0035 #endif