32 static const int NS1=100,NS2=100,NS3=100,NCOS=21;
35 static enum MomentumUnits { DEFAULT_MOMENTUM=-1, MEV, GEV } momentumUnit;
36 static enum LengthUnits { DEFAULT_LENGTH =-1, MM , CM } lengthUnit;
45 enum { All=0, ElectronMode, MuonMode, PionMode,
46 RhoMode, A1Mode, KMode, KStarMode };
61 void setAll(
bool flag) { GAMMA=Z0=HIGGS=HIGGS_H=HIGGS_A=HIGGS_PLUS=HIGGS_MINUS=W_PLUS=W_MINUS=flag; }
81 static void setSeed(
int ijklin,
int ntotin,
int ntot2n ) { rmarin_(&ijklin,&ntotin,&ntot2n); }
142 static void setTaukle(
double bra1,
double brk0,
double brk0b,
double brks);
144 static double getHiggsScalarPseudoscalarMixingAngle();
158 static int getHelPlus();
160 static int getHelMinus();
162 static double getEWwt();
164 static double getEWwt0();
166 static void setEWwt(
double wt,
double wt0);
168 static void setHelicities(
int Minus,
int Plus);
170 static void setEtaK0sPi(
int eta,
int k,
int pi);
172 static void getBornKinematics(
int *incoming_pdg_id,
int *outgoing_pdg_id,
double *invariant_mass_squared,
double *cosTheta);
174 static void summary();
178 static double table11A[NS1][NCOS][4][4],table1A[NS1][NCOS][4][4],table2A[NS1][NCOS][4][4];
179 static double wtable11A[NS1][NCOS],wtable1A[NS1][NCOS],wtable2A[NS1][NCOS];
180 static double w0table11A[NS1][NCOS],w0table1A[NS1][NCOS],w0table2A[NS1][NCOS];
182 static double table11B[NS2][NCOS][4][4],table1B[NS2][NCOS][4][4],table2B[NS2][NCOS][4][4];
183 static double wtable11B[NS2][NCOS],wtable1B[NS2][NCOS],wtable2B[NS2][NCOS];
184 static double w0table11B[NS2][NCOS],w0table1B[NS2][NCOS],w0table2B[NS2][NCOS];
186 static double table11C[NS3][NCOS][4][4],table1C[NS3][NCOS][4][4],table2C[NS3][NCOS][4][4];
187 static double wtable11C[NS3][NCOS],wtable1C[NS3][NCOS],wtable2C[NS3][NCOS];
188 static double w0table11C[NS3][NCOS],w0table1C[NS3][NCOS],w0table2C[NS3][NCOS];
189 static double sminA,smaxA,sminB,smaxB,sminC,smaxC;
194 static double tau_lifetime;
195 static double momentum_conservation_threshold;
198 static int buf_incoming_pdg_id, buf_outgoing_pdg_id;
199 static double buf_invariant_mass_squared, buf_cosTheta;
200 static double buf_R[4][4];
203 static double (*randomDouble)();
217 static void fill_val(
int beg,
int end,
double* array,
double value);
231 static bool m_is_initialized;
233 static int m_firstDecayMode;
234 static int m_secondDecayMode;
236 static double m_rad_cut_off;
237 static double m_iniphy;
238 static double m_higgs_scalar_pseudoscalar_mix;
239 static int m_higgs_scalar_pseudoscalar_pdg;
240 static double m_wtEW;
241 static double m_wtEW0;
242 static int m_helPlus;
243 static int m_helMinus;
Abstract base class for particle in the event. This class also handles boosting.