CMS 3D CMS Logo

Pythia6Service.h
Go to the documentation of this file.
1 #ifndef gen_Pythia6Service_h
2 #define gen_Pythia6Service_h
3 
4 #include <vector>
5 
8 
10 
11 // #include "HepMC/PythiaWrapper6_2.h"
12 
13 namespace CLHEP {
14  class HepRandomEngine;
15 }
16 
17 namespace gen {
18 
19  // the callbacks from Pythia which are passed on to the Pythia6Service
20  extern "C" {
21  double pyr_(int* idummy);
22  }
23 
25  public:
26  // ctor & dtor
29  ~Pythia6Service() override;
30 
31  void setGeneralParams();
32  void setCSAParams();
33  void setSLHAParams();
34  void setPYUPDAParams(bool afterPyinit);
35  void setSLHAFromHeader(const std::vector<std::string>& lines);
36 
37  void openSLHA(const char*);
38  void closeSLHA();
39  void openPYUPDA(const char*, bool write_file);
40  void closePYUPDA();
41 
42  // initialise Pythia on first call from "dummy" instance
43  void enter() override;
44 
45  CLHEP::HepRandomEngine* randomEngine() const { return fRandomEngine; }
46  void setRandomEngine(CLHEP::HepRandomEngine* v) { fRandomEngine = v; }
47 
48  private:
49  friend double gen::pyr_(int*);
50 
52 
53  CLHEP::HepRandomEngine* fRandomEngine;
54 
55  std::vector<std::string> fParamGeneral;
56  std::vector<std::string> fParamCSA;
57  std::vector<std::string> fParamSLHA;
58  std::vector<std::string> fParamPYUPDA;
59  int fUnitSLHA;
61 
63  };
64 
65 } // namespace gen
66 
67 #endif
gen::Pythia6Service::fParamCSA
std::vector< std::string > fParamCSA
Definition: Pythia6Service.h:56
gen::Pythia6Service::openSLHA
void openSLHA(const char *)
Definition: Pythia6Service.cc:198
gen::FortranInstance
Definition: FortranInstance.h:15
gen::Pythia6Service::fParamGeneral
std::vector< std::string > fParamGeneral
Definition: Pythia6Service.h:55
gen::Pythia6Service::fPythia6Owner
static Pythia6Service * fPythia6Owner
Definition: Pythia6Service.h:62
gen::pyr_
double pyr_(int *idummy)
Definition: Pythia6Service.cc:60
gen::Pythia6Service::fRandomEngine
CLHEP::HepRandomEngine * fRandomEngine
Definition: Pythia6Service.h:53
gen::Pythia6Service::fUnitSLHA
int fUnitSLHA
Definition: Pythia6Service.h:59
gen::Pythia6Service::setPYUPDAParams
void setPYUPDAParams(bool afterPyinit)
Definition: Pythia6Service.cc:276
gen::Pythia6Service::setRandomEngine
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Pythia6Service.h:46
gen::Pythia6Service::setSLHAParams
void setSLHAParams()
Definition: Pythia6Service.cc:239
gen::Pythia6Service::setGeneralParams
void setGeneralParams()
Definition: Pythia6Service.cc:157
gen::Pythia6Service::openPYUPDA
void openPYUPDA(const char *, bool write_file)
Definition: Pythia6Service.cc:211
gen::Pythia6Service::closeSLHA
void closeSLHA()
Definition: Pythia6Service.cc:227
gen::Pythia6Service::setCSAParams
void setCSAParams()
Definition: Pythia6Service.cc:168
gen
Definition: PythiaDecays.h:13
FortranInstance.h
gen::Pythia6Service::enter
void enter() override
Definition: Pythia6Service.cc:141
CLHEP
Definition: CocoaGlobals.h:27
gen::Pythia6Service::randomEngine
CLHEP::HepRandomEngine * randomEngine() const
Definition: Pythia6Service.h:45
gen::Pythia6Service::fInitialising
bool fInitialising
Definition: Pythia6Service.h:51
edm::ParameterSet
Definition: ParameterSet.h:47
groupFilesInBlocks.lines
lines
Definition: groupFilesInBlocks.py:95
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:76
gen::Pythia6Service::fParamSLHA
std::vector< std::string > fParamSLHA
Definition: Pythia6Service.h:57
gen::Pythia6Service::fParamPYUPDA
std::vector< std::string > fParamPYUPDA
Definition: Pythia6Service.h:58
gen::Pythia6Service::fUnitPYUPDA
int fUnitPYUPDA
Definition: Pythia6Service.h:60
gen::Pythia6Service::closePYUPDA
void closePYUPDA()
Definition: Pythia6Service.cc:233
ParameterSetfwd.h
gen::Pythia6Service::setSLHAFromHeader
void setSLHAFromHeader(const std::vector< std::string > &lines)
Definition: Pythia6Service.cc:324
Exception.h
gen::Pythia6Service
Definition: Pythia6Service.h:24
gen::Pythia6Service::Pythia6Service
Pythia6Service()
Definition: Pythia6Service.cc:73
gen::Pythia6Service::~Pythia6Service
~Pythia6Service() override
Definition: Pythia6Service.cc:131