34#define INCLXX_IN_GEANT4_MODE 1
48 const G4double NDeltaOmegaProductionChannel::angularSlope = 6.;
49 const G4int NDeltaOmegaProductionChannel::maxTries = 100000;
52 : particle1(p1), particle2(p2)
58 const G4double ecm = ecmorigin - 783.437;
65 G4double q2=(y-1.157776E6)*(y-6.4E5)/y/4.0;
66 G4double q3=std::pow(std::sqrt(q2), 3.);
67 const G4double f3max=q3/(q3+5.832E6);
73 if(++nTries >= maxTries) {
74 INCL_WARN(
"NDeltaOmegaProductionChannel::sampleDeltaMass loop was stopped because maximum number of tries was reached. Minimum delta mass "
87 q2=(y-1.157776E6)*(y-6.4E5)/y/4.0;
88 q3=std::pow(std::sqrt(q2), 3.);
109 list.push_back(particle1);
110 list.push_back(particle2);
114 const G4int isospin = is1+is2;
117 G4double xmdel = sampleDeltaMass(ecm);
122 if (rndm < 0.5) index2=1;
162 const ThreeVector rcol = (rcolnucleon1+rcolnucleon2)*0.5;
165 list.push_back(omega);
void addModifiedParticle(Particle *p)
void addCreatedParticle(Particle *p)
virtual ~NDeltaOmegaProductionChannel()
void fillFinalState(FinalState *fs)
NDeltaOmegaProductionChannel(Particle *, Particle *)
void setMass(G4double mass)
void setHelicity(G4double h)
const G4INCL::ThreeVector & getPosition() const
const G4INCL::ThreeVector & getMomentum() const
G4INCL::ParticleType getType() const
void setType(ParticleType t)
G4bool isDelta() const
Is it a Delta?
G4double dot(const ThreeVector &v) const
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
const G4double effectiveDeltaWidth
const G4double effectiveDeltaMass
G4ThreadLocal G4double minDeltaMass
G4ThreadLocal G4double minDeltaMassRndm
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
const G4double effectiveNucleonMass
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.