CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Cascade2Hadronizer.h
Go to the documentation of this file.
1 #ifndef gen_Cascade2Hadronizer_h
2 #define gen_Cascade2Hadronizer_h
3 
4 #include <memory>
5 
9 #include "CLHEP/Random/RandomEngine.h"
10 
11 namespace HepMC {
12  class GenEvent;
13 }
14 
15 namespace CLHEP {
16  class RandFlat;
17 }
18 
19 namespace gen {
20 
21  class Pythia6Service;
22 
24 
25  public:
26 
29 
30  bool readSettings(int);
31  bool initializeForExternalPartons(); //-- initializer for the LHE input
33 
34  //-- Read the parameters and pass them to the common blocks
35  bool cascadeReadParameters(const std::string& ParameterString);
37  void pythia6PrintParameters();
38  bool declareStableParticles(const std::vector<int>&);
39  bool declareSpecialSettings( const std::vector<std::string>& ) { return true; }
40  void statistics();
41 
43  bool hadronize(); //-- hadronizer for the LHE input
44  bool decay();
45  bool residualDecay();
46  void finalizeEvent();
47 
48  const char* classname() const;
49 
50  private:
51 
52  //-- methods
53 
54  void flushTmpStorage();
55  void fillTmpStorage();
56  void imposeProperTime(); //-- to correctly treat particle decay
57 
58  //-- data members
59 
61 
63 
64  CLHEP::RandFlat* fFlat;
65 
66  double fComEnergy ; //-- irrelevant for setting py6 as hadronizer (or if anything, it should be picked up from LHERunInfoProduct)
70 
71  unsigned int fMaxEventsToPrint ;
73  unsigned int fPythiaListVerbosity ; //-- p6 specific
74 
75  bool fDisplayPythiaBanner; //-- p6 specific
76  bool fDisplayPythiaCards; //-- p6 specific
77 
78  bool fConvertToPDG; //-- conversion of Py6 PID's into PDG convention
79  };
80 }
81 
82 #endif
Cascade2Hadronizer(edm::ParameterSet const &ps)
Pythia6Service * fPy6Service
edm::ParameterSet fParameters
bool declareStableParticles(const std::vector< int > &)
const char * classname() const
bool cascadeReadParameters(const std::string &ParameterString)
bool declareSpecialSettings(const std::vector< std::string > &)