34#ifndef G4ReactionProduct_h
35#define G4ReactionProduct_h 1
45#if defined G4HADRONIC_ALLOC_EXPORT
80 inline void*
operator new(size_t) {
84 inline void*
operator new(size_t,
void *p) {
88 inline void operator delete(
void* aReactionProduct) {
105 {
return theParticleDefinition; }
124 {
return std::sqrt(std::abs(kineticEnergy*(totalEnergy+mass))); }
127 {
return totalEnergy; }
132 totalEnergy = kineticEnergy + mass;
136 {
return kineticEnergy; }
141 kineticEnergy = totalEnergy - mass;
151 { timeOfFlight = t; }
154 {
return timeOfFlight; }
166 {
return NewlyAdded; }
172 {
return MayBeKilled; }
182 positionInNucleus.
setX(x);
183 positionInNucleus.
setY(y);
184 positionInNucleus.
setZ(z);
189 positionInNucleus = aPosition;
205#ifdef PRECOMPOUND_TEST
206 void SetCreatorModel(
const G4String& aModel) { theCreatorModel = aModel; }
207 G4String GetCreatorModel()
const {
return theCreatorModel; }
217 G4bool hasInitialStateParton;
239#ifdef PRECOMPOUND_TEST
G4DLLIMPORT G4Allocator< G4ReactionProduct > aRPAllocator
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
G4double GetTotalMomentum() const
G4double GetKineticEnergy() const
void SetPositionInNucleus(G4ThreeVector &aPosition)
G4double GetTotalEnergy() const
G4double GetZPositionInNucleus() const
void HasInitialStateParton(G4bool aFlag)
void SetMayBeKilled(const G4bool f)
G4ThreeVector GetPositionInNucleus() const
G4bool GetNewlyAdded() const
G4double GetXPositionInNucleus() const
friend G4ReactionProduct operator+(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
void SetNewlyAdded(const G4bool f)
G4double GetYPositionInNucleus() const
G4ThreeVector GetMomentum() const
void SetSide(const G4int sid)
void SetMomentum(const G4ThreeVector &mom)
friend G4ReactionProduct operator-(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
G4ReactionProduct & operator=(const G4ReactionProduct &right)
G4bool HasInitialStateParton() const
G4bool operator!=(const G4ReactionProduct &right) const
void SetPositionInNucleus(G4double x, G4double y, G4double z)
void SetDefinitionAndUpdateE(G4ParticleDefinition *aParticleDefinition)
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
void SetKineticEnergy(const G4double en)
G4ParticleDefinition * GetDefinition() const
void SetTOF(const G4double t)
void SetDefinition(G4ParticleDefinition *aParticleDefinition)
G4double GetFormationTime() const
friend G4ReactionProduct operator*(const G4double aDouble, const G4ReactionProduct &p2)
G4bool operator==(const G4ReactionProduct &right) const
G4double Angle(const G4ReactionProduct &p) const
void SetFormationTime(G4double aTime)
G4bool GetMayBeKilled() const
void SetMass(const G4double mas)