CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AMPTHadronizer.h
Go to the documentation of this file.
1 #ifndef AMPTHadronizer_h
2 #define AMPTHadronizer_h
3 
6 #include "CLHEP/Random/RandomEngine.h"
7 
8 #include <map>
9 #include <string>
10 #include <vector>
11 #include <math.h>
12 
13 namespace HepMC {
14  class GenEvent;
15  class GenParticle;
16  class GenVertex;
17 }
18 
19 extern CLHEP::HepRandomEngine* _amptRandomEngine;
20 
21 namespace gen
22 {
23 
24  extern "C" {
25  double ranart_(int*);
26  }
27 
28  extern "C" {
29  double ran1_(int*);
30  }
31 
32  class AMPTHadronizer : public BaseHadronizer {
33  public:
35  virtual ~AMPTHadronizer();
36 
38  bool hadronize();
39  bool decay();
40  bool residualDecay();
43  bool declareStableParticles( const std::vector<int> );
44  bool declareSpecialSettings( const std::vector<std::string> ) { return true; }
45 
46  void finalizeEvent();
47  void statistics();
48  const char* classname() const;
49 
50  private:
51 
52  void add_heavy_ion_rec(HepMC::GenEvent *evt);
53  HepMC::GenParticle* build_ampt( int index, int barcode );
54  HepMC::GenVertex* build_ampt_vertex(int i, int id);
55  bool get_particles(HepMC::GenEvent* evt);
56  bool ampt_init(const edm::ParameterSet &pset);
57  bool call_amptset(double efrm, std::string frame, std::string proj, std::string targ, int iap, int izp, int iat, int izt);
58  // inline double nuclear_radius() const;
59  void rotateEvtPlane();
60 
61  HepMC::GenEvent *evt;
63  double bmax_; // max impact param;
64  // units of nucl radius
65  double bmin_; // min impact param;
66  // units of nucl radius
67  double efrm_; // collision energy
68  std::string frame_;
69  std::string proj_;
70  std::string targ_;
71  int iap_;
72  int izp_;
73  int iat_;
74  int izt_;
75  int amptmode_;
76  int ntmax_;
77  double dt_;
78  double stringFragA_;
79  double stringFragB_;
81  double popcornpar_;
84  double quenchingpar_;
85  double pthard_;
86  double mu_;
87  int izpc_;
88  double alpha_;
89  double dpcoal_;
90  double drcoal_;
91  bool ks0decay_;
92  bool phidecay_;
96  double minijetpt_;
97  int maxmiss_;
99  int ktkick_;
101  double diquarkpx_;
102  double diquarkpy_;
103  double diquarkx_;
104  double diquarky_;
105  int nsembd_;
106  double psembd_;
107  double tmaxembd_;
110  double phi0_; // Event plane angle
111  double sinphi0_;
112  double cosphi0_;
113  bool rotate_; // Switch to rotate event plane
114  };
115 } /*end namespace*/
116 
117 #endif
bool initializeForExternalPartons()
int i
Definition: DBlmapReader.cc:9
bool declareStableParticles(const std::vector< int >)
bool initializeForInternalPartons()
HepMC::GenEvent * evt
CLHEP::HepRandomEngine * _amptRandomEngine
void add_heavy_ion_rec(HepMC::GenEvent *evt)
bool generatePartonsAndHadronize()
AMPTHadronizer(const edm::ParameterSet &)
const char * classname() const
bool call_amptset(double efrm, std::string frame, std::string proj, std::string targ, int iap, int izp, int iat, int izt)
bool declareSpecialSettings(const std::vector< std::string >)
double ranart_(int *)
edm::ParameterSet pset_
HepMC::GenParticle * build_ampt(int index, int barcode)
double ran1_(int *)
bool ampt_init(const edm::ParameterSet &pset)
HepMC::GenVertex * build_ampt_vertex(int i, int id)
bool get_particles(HepMC::GenEvent *evt)