1 #ifndef _Photos_h_included_
2 #define _Photos_h_included_
17 #include "PhotosParticle.h"
18 #include "PhotosRandom.h"
32 static const int VER_MAJOR = 3, VER_MINOR = 64;
33 static const int DAT_DAY = 18, DAT_MONTH = 2, DAT_YEAR = 20;
36 static enum MomentumUnits { DEFAULT_MOMENTUM = -1, MEV, GEV } momentumUnit;
73 static bool IPHQRK_setQarknoEmission(
int MODCOR,
int PDGID);
92 static void setSeed(
int iseed1,
int iseed2) { PhotosRandom::setSeed(iseed1, iseed2); }
110 static void setQuatroBrem(
bool quatroBrem) { phokey.itre = (int)quatroBrem; }
113 static void setCorrectionWtForW(
bool corr) { phokey.ifw = (int)corr; }
144 static void setStopAtCriticalError(
bool stop);
169 static void forceMass(
int pdgid,
double mass);
Abstract base class for particle in the event.
Controls the configuration and initialization of Photos.
static bool meCorrectionWtForZ
Flag for complete effects of matrix element (in leptonic Z decays)
static void forceBremForDecay(int count, int motherID,...)
Force processing of a single decay.
static void setQuatroBrem(bool quatroBrem)
Set bremsstrahlung generation up to multiplicity of 4.
static vector< pair< int, double > * > * forceMassList
List of forced mass values.
static void forceMass(int pdgid, double mass)
When particles with PDGID and -PDGID will be processed by Photos, their mass value will be given by u...
static void setSeed(int iseed1, int iseed2)
Seed for RANMAR used by fortran part of the Photos.
static void initialize()
Initalize Photos with the parameters previously set via the setter methods.
static bool isStatusCodeIgnored(int status)
Returns 'true' if status code is ignored.
static void forceMassFrom4Vector(bool flag)
Force mass value to be sqrt(e^2-p^2) for all particle momenta taken from event record.
static vector< vector< int > * > * supBremList
List of suppressed decays.
static void suppressBremForBranch(int count, int motherID,...)
Suppress processing of whole decay branch.
static vector< vector< int > * > * forceBremList
List of forced decays.
static void setMeCorrectionWtForW(bool corr)
Switch for complete effects of matrix element (in leptonic W decays)
static void setMomentumConservationThreshold(double threshold)
set energy momentum conservation threshold
static int EventNo
Is event No.
static void setRandomGenerator(double(*gen)())
Substitute build-in generator with external one.
static bool isSuppressed
Is in suppressed mode.
static void suppressAll()
Suppress all processing.
static void suppressBremForDecay(int count, int motherID,...)
Suppress processing of a single decay.
static void createHistoryEntries(bool flag, int status)
If event record allows it, create history entries of particles before Photos processing.
static bool IfPhot
Flag for generating emission of photons.
static double momentum_conservation_threshold
Threshold for momentum conservation check.
static void setExponentiation(bool expo)
Set exponentiation mode.
static bool isCreateHistoryEntries
Flag for creating historic entries.
static void setInfraredCutOff(double cut_off)
Minimal energy (in units of decaying particle mass) for photons to be explicitly generated.
static void forceBremForBranch(int count, int motherID,...)
Force processing of a whole decay branch.
static void setTopProcessRadiation(bool top)
Set photon emission in top pair production in quark (gluon) pair annihilation.
static void setInterference(bool interference)
Key for interference, matrix element weight.
static void ignoreParticlesOfStatus(int status)
Ignore particles with given status code.
static vector< int > * ignoreStatusCodeList
List of ignored status codes.
static void forceMassFromEventRecord(int pdgid)
When particles with PDGID and -PDGID will be processed by Photos, their mass value will be taken from...
Photos & getInstance()
Get instance of Photos.
static void maxWtInterference(double interference)
Maximum interference weight.
static void setMeCorrectionWtForZ(bool corr)
Switch for complete effects of matrix element (in leptonic Z decays)
static void setPhotonEmission(bool ifphot)
Set photon emission.
static bool meCorrectionWtForScalar
Flag for complete effects of matrix element (in scalars decays)
static void setMeCorrectionWtForScalar(bool corr)
Switch for complete effects of matrix element (in scalar to 2 scalars decays)
static void IPHEKL_setPi0KLnoEmission(int m)
Block emissions id decays pi0 and K_L -> gamma e+ e- 1 = no suppression 2 (default) = suppressed emis...
static void setMomentumUnit(MomentumUnits unit)
Set momentum unit.
static void processBranch(PhotosParticle *p)
Process decay of whole decay branch starting from given particle.
static double(* randomDouble)()
Pointer to random generator function.
static bool massFrom4Vector
Is mass from 4-vector or from event record.
static void processParticle(PhotosParticle *p)
Process decay of single particle.
static void setPairEmission(bool ifpair)
Set pair emission.
static void setEventNo(int iEvt)
set event no
static void setDoubleBrem(bool doub)
Set double bremsstrahlung generation.
static int historyEntriesStatus
Status of history entries.
static void initializeKinematicCorrections(int flag)
Initialize kinematic corrections.
static void iniInfo()
Prints info on Photos initialization (reinitialization) status.
static void deIgnoreParticlesOfStatus(int status)
Remove 'status' from the list of ignored status codes.
static bool meCorrectionWtForW
Flag for complete effects of matrix element (in leptonic W decays)
static bool IfPair
Flag for generating emission of pairs.
static void setAlphaQED(double alpha)
Coupling constant alpha QED.