34#define INCLXX_IN_GEANT4_MODE 1
47 :theParticle(p), incidentDirection(dir)
56 if(m > 1500.0) gg = 200.0;
59 const G4double psf = std::pow(qqq, 3)/(std::pow(qqq, 3) + 5832000.0);
61 if( m > 1400)
return tdel * 1./(1. + std::pow((m-1400)/g0,2));
67 unsigned long loopCounter = 0;
68 const unsigned long maxLoopCounter = 10000000;
71 if(std::abs(*ctet_par) > 1.0) (*ctet_par) =
Math::sign(*ctet_par);
73 }
while(loopCounter<maxLoopCounter &&
Random::shoot() > ((1.0 + 3.0 * hel * (*ctet_par) * (*ctet_par)) /(1.0 + 3.0 * hel)));
74 (*stet_par) = std::sqrt(1.-(*ctet_par)*(*ctet_par));
108 sampleAngles(&ctet, &stet, &fi);
117 sal = incidentDirection.
perp()/beta;
123 G4double t1 = ctet+cal*stet*sfi/sal;
125 q1=(b1*t1+b2*t2*cfi)/beta;
126 q2=(b2*t1-b1*t2*cfi)/beta;
127 q3=(b3*t1/beta-t2*sfi);
136#ifdef INCLXX_IN_GEANT4_MODE
137 G4int deltaPDGCode = 0;
139 switch(theParticle->
getType()) {
143#ifdef INCLXX_IN_GEANT4_MODE
155#ifdef INCLXX_IN_GEANT4_MODE
167#ifdef INCLXX_IN_GEANT4_MODE
174#ifdef INCLXX_IN_GEANT4_MODE
198#ifdef INCLXX_IN_GEANT4_MODE
201 G4int parentResonanceID =
static_cast<G4int>(round(deltaMass/CLHEP::keV));
202 pion->setParentResonancePDGCode(deltaPDGCode);
203 pion->setParentResonanceID(parentResonanceID);
virtual ~DeltaDecayChannel()
static G4double computeDecayTime(Particle *p)
DeltaDecayChannel(Particle *, ThreeVector const &)
void fillFinalState(FinalState *fs)
void addModifiedParticle(Particle *p)
void addCreatedParticle(Particle *p)
void setParentResonancePDGCode(const G4int parentPDGCode)
G4double getEnergy() const
void setHelicity(G4double h)
const G4INCL::ThreeVector & getPosition() const
void setParentResonanceID(const G4int parentID)
G4double adjustEnergyFromMomentum()
Recompute the energy to match the momentum.
virtual void setMomentum(const G4INCL::ThreeVector &momentum)
G4INCL::ParticleType getType() const
void setType(ParticleType t)
G4double getMass() const
Get the cached particle mass.
G4double momentumInCM(Particle const *const p1, Particle const *const p2)
gives the momentum in the CM frame of two particles.
G4double getINCLMass(const G4int A, const G4int Z, const G4int S)
Get INCL nuclear mass (in MeV/c^2)
const G4double effectiveNucleonMass
const G4double effectivePionMass
const G4double hc
[MeV*fm]