34#define INCLXX_IN_GEANT4_MODE 1
48 : particle1(p1), particle2(p2)
57 if(std::abs(*ctet_par) > 1.0) (*ctet_par) =
Math::sign(*ctet_par);
58 (*stet_par) = std::sqrt(1.-(*ctet_par)*(*ctet_par));
95 INCL_ERROR(
"Unknown particle pair in Strange-N absorption: " << nucleon <<
'\t' << strange <<
'\n');
103 G4double lambdamass = nucleon->getMass();
106 sampleAngles(&ctet, &stet, &fi);
115 sal = incidentDirection.
perp()/beta;
121 G4double t1 = ctet+cal*stet*sfi/sal;
123 q1=(b1*t1+b2*t2*cfi)/beta;
124 q2=(b2*t1-b1*t2*cfi)/beta;
125 q3=(b3*t1/beta-t2*sfi);
145 nucleon->setMomentum(-finalMomentum);
146 nucleon->adjustEnergyFromMomentum();
void addModifiedParticle(Particle *p)
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)
StrangeAbsorbtionChannel(Particle *, Particle *)
void fillFinalState(FinalState *fs)
virtual ~StrangeAbsorbtionChannel()
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
G4double momentumInCM(Particle const *const p1, Particle const *const p2)
gives the momentum in the CM frame of two particles.
G4bool isPair(Particle const *const p1, Particle const *const p2, ParticleType t1, ParticleType t2)
G4double getINCLMass(const G4int A, const G4int Z, const G4int S)
Get INCL nuclear mass (in MeV/c^2)