1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#ifndef gen_PhotosInterface_PhotosInterfaceBase_h
#define gen_PhotosInterface_PhotosInterfaceBase_h
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "HepMC/GenEvent.h"
#include "HepMC3/GenEvent.h"
#include <vector>
#include "CLHEP/Random/RandomEngine.h"
#include "HepMC/SimpleVector.h"
#include <string>
#include "CLHEP/Random/RandomEngine.h"
namespace gen {
class PhotosInterfaceBase {
public:
PhotosInterfaceBase() {}
PhotosInterfaceBase(const edm::ParameterSet&) {}
virtual ~PhotosInterfaceBase() {}
virtual void SetDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) {}
virtual void init() = 0;
virtual const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
virtual HepMC::GenEvent* apply(HepMC::GenEvent* evt) { return evt; }
virtual HepMC3::GenEvent* apply(HepMC3::GenEvent* evt) { return evt; }
virtual void avoidTauLeptonicDecays() = 0;
;
virtual void configureOnlyFor(int) = 0;
virtual void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) = 0;
virtual void statistics() {}
protected:
std::vector<std::string> fSpecialSettings;
};
} // namespace gen
#endif
|