34#define INCLXX_IN_GEANT4_MODE 1
47 :theParticle(p), incidentDirection(dir)
64 if(std::abs(*ctet_par) > 1.0) (*ctet_par) =
Math::sign(*ctet_par);
65 (*stet_par) = std::sqrt(1.-(*ctet_par)*(*ctet_par));
78 sampleAngles(&c_tet, &s_tet, &phi);
87 sal = incidentDirection.
perp()/beta;
93 G4double t1 = c_tet+cal*s_tet*s_phi/sal;
95 q1=(b1*t1+b2*t2*c_phi)/beta;
96 q2=(b2*t1-b1*t2*c_phi)/beta;
97 q3=(b3*t1/beta-t2*s_phi);
113 Particle *createdParticle =
new Particle(createdType, createdMomentum, createdPosition);
void addModifiedParticle(Particle *p)
void addCreatedParticle(Particle *p)
const G4INCL::ThreeVector & getPosition() const
G4double adjustEnergyFromMomentum()
Recompute the energy to match the momentum.
const G4INCL::ThreeVector & getMomentum() const
virtual void setMomentum(const G4INCL::ThreeVector &momentum)
void setType(ParticleType t)
G4double getMass() const
Get the cached particle mass.
static G4double computeDecayTime(Particle *p)
virtual ~SigmaZeroDecayChannel()
void fillFinalState(FinalState *fs)
SigmaZeroDecayChannel(Particle *, ThreeVector const &)
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)
G4double getWidth(const ParticleType t)
Get particle width (in s)