TABLE OF CONTENTS
- 1. /master_1Body
- 1.1. master_1Body/correctEnergy
- 1.2. master_1Body/debug
- 1.3. master_1Body/gammaCutOff
- 1.4. master_1Body/StableInFormation
- 1.5. master_1Body/omegaDecayMediumInfo
- 1.6. master_1Body/omegaDecay_restriction
- 1.7. master_1Body/readInput
- 1.8. master_1Body/master_1body
- 1.9. master_1Body/decayParticle
- 1.10. master_1Body/omegaMediumInfo.dat
- 1.11. master_1Body/assignCharge
- 1.12. master_1Body/getMomentum_and_Medium
- 1.13. master_1Body/setKinematics
/master_1Body [ Modules ]
Implements all decays (a -> X).
master_1Body/correctEnergy [ Global module-variables ]
logical,save :: correctEnergy=.true.
master_1Body/debug [ Global module-variables ]
logical, save :: debug = .false.
If .true., additional debugging information will be printed out.
master_1Body/gammaCutOff [ Global module-variables ]
real, parameter :: gammaCutOff = 1E-4
master_1Body/StableInFormation [ Global module-variables ]
logical, save :: StableInFormation = .true.
Particles during its formation time are considered to be stable or not.
master_1Body/omegaDecayMediumInfo [ Global module-variables ]
logical, save :: omegaDecayMediumInfo = .false.
master_1Body/omegaDecay_restriction [ Global module-variables ]
integer, save :: omegaDecay_restriction = 0
- 0 = none (default)
- 1 = vacuum ( rho < 0.1 rho0)
- 2 = medium ( rho > 0.1 rho0)
With the default value (0), all omega decays are carried out as usual. For the value 1, the decay products are only kept, if the decay happens in the vacuum (i.e. at rho < 0.1 * rho0). For the value 2, the decay products are only kept, if the decay happens in the medium (i.e. at rho > 0.1 * rho0). If the density does not meet these conditions, the decay products are simply removed and will not be put in the particle vector (and thus they will not appear in the analysis).
master_1Body/readInput [ Subroutines ]
master_1Body/master_1body [ Namelists ]
Includes the switches:
master_1Body/decayParticle [ Subroutines ]
subroutine decayParticle (resonanceIN, finalState, collisionFlag, pauliFlag, finalFlag, time, gammaOut)
Evaluates for a given particle the final states of a decay process. First it checks wether the decay takes place in this time step, then it evaluates the final state if the decay criteria is fulfilled.
Treatment of the antiParticles: If the incoming resonance is an anti-particle, then we charge conjugate the incoming resonance and promote it to a particle. In the end we will do the charge conjugation again and promote all particle to antiparticles. If the particle is still in its formation period (%in_formation=.true.) then we don't allow it to decay!
- type(particle),dimension(1:1) :: resonanceIN -- incoming particle
- logical :: finalFlag -- if .true. then decay is forced to happen
- real :: time -- current time in fermi [does not influence any MC decisions; only used for analysis]
- type(particle),dimension(:) :: finalState -- produced final state
- logical :: collisionFlag -- true if decay took place
- logical :: pauliFlag -- Set to .true. if Pauli blocking is already considered in decay decision
- real, optional :: gammaOut -- full width [GeV]
master_1Body/omegaMediumInfo.dat [ Output files ]
master_1Body/assignCharge [ Subroutines ]
Random Choice of charges for a 2-body final-state in a given decay of a resonance "inID" of charge "inCharge". The charges are choosen for hadronic decays according to the Clebsch-Gordan coefficients. For weak decays the charges are distributed according to their weak decay channels.
- type(particle), dimension(1:2) :: outPart -- pair resulting of a decay
- integer :: inID -- Id of decaying particle
- integer :: inCharge -- Charge of decaying particle
Be careful: variables named isospin can also contain isospin*2 to convert to integer values.
master_1Body/getMomentum_and_Medium [ Subroutines ]
subroutine getMomentum_and_Medium(resonance,momentumLRF, betatToLRF, mediumAtDecay)
- type(medium) :: mediumAtDecay
- real, dimension(0:3) :: momentumLRF -- momentum in the LRF
- real, dimension(1:3) :: betaToLRF -- beta for boost to LRF
master_1Body/setKinematics [ Functions ]
function setKinematics (resonance, finalState, mediumAtCollision, betaToLRF) result(collisionFlag)
Evaluates the kinematics for the "finalState" particles.
- type(particle) :: resonance -- resonance which decays into "FinalState"
- type(medium) :: mediumAtCollision -- medium information
- real,dimension(1:3) :: betaToLRF -- beta for boost to Local Rest Frame
- type(particle),dimension(:) :: finalState
- type(particle),dimension(:) :: finalState
- logical :: collisionFlag -- "true" if kinematics could be set, "false" if not
It's important that the Id's and charges of the "finalState" particles are already set when calling this subroutine.
Only kinematics including masses of this finalState will be set.