5 #include "PhotosRandom.h" 
   78         phpico_.pi   =3.14159265358979324;
 
   79         phpico_.twopi=6.28318530717958648;
 
  109         int                coutPrec = cout.precision(6);
 
  110         ios_base::fmtflags flags    = cout.setf(ios_base::floatfield);
 
  112         cout<<
"********************************************************************************"<<endl<<endl;
 
  114         cout<<
"                            ========================="<<endl;
 
  117         cout<<
"                            ========================="<<endl<<endl;
 
  119         cout<<
"                     Photos QED corrections in Particle Decays"<<endl<<endl;
 
  121         cout<<
"           Monte Carlo Program - by E. Barberio, B. van Eijk and Z. Was"<<endl;
 
  122         cout<<
"           From version 2.09   - by P. Golonka and Z. Was"<<endl;
 
  123         cout<<
"           From version 3.00   - by N. Davidson, T. Przedzinski and Z. Was"<<endl;
 
  125         cout<<
"********************************************************************************"<<endl<<endl;
 
  127         cout<<
"                  Internal (default) input parameters: "<<endl<<endl;
 
  130         cout<<
"                    ALPHA_QED= "<<
phocop_.alpha<<
" XPHCUT= "<<
phocop_.xphcut<<endl<<endl;
 
  132         if(
phokey_.interf) cout<<
"                    Option with interference is active"<<endl;
 
  133         if(
phokey_.isec)   cout<<
"                    Option with double photons is active"<<endl;
 
  134         if(
phokey_.itre)   cout<<
"                    Option with triple/quatric photons is active"<<endl;
 
  135         if(
phokey_.iexp)   cout<<
"                    Option with exponentiation is active EPSEXP="<<
phokey_.expeps<<endl;
 
  136         if(
phokey_.iftop)  cout<<
"                    Emision in t tbar production is active"<<endl;
 
  137         if(
phokey_.ifw)    cout<<
"                    Correction wt in decay of W is active"<<endl;
 
  140         cout<<endl<<
"          WARNING:  /HEPEVT/ is not anymore used."<<endl<<endl;
 
  150         cout<<
"********************************************************************************"<<endl;
 
  152         cout.precision(coutPrec);
 
  183         int                coutPrec = cout.precision(6);
 
  184         ios_base::fmtflags flags    = cout.setf(ios_base::floatfield);
 
  186         cout<<
"********************************************************************************"<<endl<<endl;
 
  187         cout<<
"                            ========================================="<<endl;
 
  188         cout<<
"                            PHOTOS, information routine"<<endl;
 
  189         cout<<
"                            Input parameters after reinitialization: "<<endl<<endl;
 
  190         cout<<
"                            ========================================="<<endl<<endl;
 
  191         cout<<
"********************************************************************************"<<endl<<endl;
 
  194         cout<<
"                    ALPHA_QED= "<<
phocop_.alpha<<
" XPHCUT= "<<
phocop_.xphcut<<endl<<endl;
 
  196         if(
phokey_.interf) cout<<
"                    Option with interference is active"<<endl;
 
  197         if(
phokey_.isec)   cout<<
"                    Option with double photons is active"<<endl;
 
  198         if(
phokey_.itre)   cout<<
"                    Option with triple/quatric photons is active"<<endl;
 
  199         if(
phokey_.iexp)   cout<<
"                    Option with exponentiation is active EPSEXP="<<
phokey_.expeps<<endl;
 
  200         if(
phokey_.iftop)  cout<<
"                    Emision in t tbar production is active"<<endl;
 
  201         if(
phokey_.ifw)    cout<<
"                    Correction wt in decay of W is active"<<endl;
 
  206         cout<<endl<<
"          WARNING:  /HEPEVT/ is not anymore used."<<endl<<endl;
 
  208         cout.precision(coutPrec);
 
  222         for(
int i=0;
i<(int)branches.size();
i++) branches.at(
i)->process();
 
  228         va_start(arg, motherID);
 
  229         vector<int> *
v = 
new vector<int>();
 
  230         v->push_back(motherID);
 
  233                 v->push_back(va_arg(arg,
int));
 
  244         va_start(arg, motherID);
 
  245         vector<int> *
v = 
new vector<int>();
 
  246         v->push_back(motherID);
 
  249                 v->push_back(va_arg(arg,
int));
 
  260         va_start(arg, motherID);
 
  261         vector<int> *
v = 
new vector<int>();
 
  262         v->push_back(motherID);
 
  265                 v->push_back(va_arg(arg,
int));
 
  276         va_start(arg, motherID);
 
  277         vector<int> *
v = 
new vector<int>();
 
  278         v->push_back(motherID);
 
  281                 v->push_back(va_arg(arg,
int));
 
  293     Log::Warning()<<
"Photos::createHistoryEntries: status must be >=3"<<endl;
 
  306     Log::Warning()<<
"Photos::ignoreParticlesOfStatus: status must be >=3"<<endl;
 
  381                 Log::Info()<<
"PHOTOS production mode. Elementary test of data flow from event record disabled. "<<endl
 
  382                            <<
"Prior checks of the complete configuration "<<endl
 
  383                            <<
"(for the particular set of input parameters) must have been done! "<<endl;
 
  391   forceMassList->push_back( 
new pair<int,double>(pdgid, -1.0) );
 
  398     Log::Warning()<<
"Photos::forceMass: Mass must be > 0.0"<<endl;
 
  403   forceMassList->push_back( 
new pair<int,double>(pdgid, mass) );
 
static vector< int > * ignoreStatusCodeList
static vector< PhotosBranch * > createBranches(vector< PhotosParticle * > particles)
static const int DAT_MONTH
static bool meCorrectionWtForZ
static const int VER_MINOR
static void maxWtInterference(double interference)
int getSuppressionStatus()
static double randomReal()
static bool isStatusCodeIgnored(int status)
static void forceMassFromEventRecord(int pdgid)
static vector< vector< int > * > * forceBremList
static void setInfraredCutOff(double cut_off)
static vector< vector< int > * > * supBremList
static void forceMass(int pdgid, double mass)
static void ignoreParticlesOfStatus(int status)
static bool meCorrectionWtForScalar
static void suppressBremForDecay(int count, int motherID,...)
static bool massFrom4Vector
static ostream & Info(bool count=true)
static vector< pair< int, double > * > * forceMassList
static void forceBremForDecay(int count, int motherID,...)
static void initializeKinematicCorrections(int flag)
static const int DAT_YEAR
static double(* randomDouble)()
static void createHistoryEntries(bool flag, int status)
static void setInterference(bool interference)
static void setExponentiation(bool expo)
static void setCorrectionWtForW(bool corr)
static void setStopAtCriticalError(bool stop)
std::vector< PhotosParticle * > getDecayTree()
static void processParticle(PhotosParticle *p)
Controls the configuration and initialization of Photos. 
static void setMeCorrectionWtForW(bool corr)
static void forceBremForBranch(int count, int motherID,...)
static double momentum_conservation_threshold
static ostream & Warning(bool count=true)
static void processBranch(PhotosParticle *p)
static void suppressBremForBranch(int count, int motherID,...)
static void setMeCorrectionWtForScalar(bool corr)
static void setDoubleBrem(bool doub)
static void setMeCorrectionWtForZ(bool corr)
static void setTopProcessRadiation(bool top)
static void setQuatroBrem(bool quatroBrem)
static bool meCorrectionWtForW
static void setRandomGenerator(double(*gen)())
static int historyEntriesStatus
static void deIgnoreParticlesOfStatus(int status)
static const int VER_MAJOR
static void setAlphaQED(double alpha)
static bool isCreateHistoryEntries