34#ifndef G4ReactionProduct_h
35#define G4ReactionProduct_h 1
47#if defined G4HADRONIC_ALLOC_EXPORT
82 inline void*
operator new(size_t) {
87 inline void*
operator new(size_t,
void *p) {
91 inline void operator delete(
void* aReactionProduct) {
108 {
return theParticleDefinition; }
127 {
return std::sqrt(std::abs(kineticEnergy*(totalEnergy+mass))); }
130 {
return totalEnergy; }
135 totalEnergy = kineticEnergy + mass;
139 {
return kineticEnergy; }
144 kineticEnergy = totalEnergy - mass;
154 { timeOfFlight = t; }
157 {
return timeOfFlight; }
166 { theCreatorModel = mod; }
169 {
return theCreatorModel; }
172 {
return theParentResonanceDef; }
175 { theParentResonanceDef = parentDef; }
180 { theParentResonanceID = parentID; }
186 {
return NewlyAdded; }
192 {
return MayBeKilled; }
202 positionInNucleus.
setX(x);
203 positionInNucleus.
setY(y);
204 positionInNucleus.
setZ(z);
209 positionInNucleus = aPosition;
232 G4bool hasInitialStateParton;
249 G4int theCreatorModel;
252 G4int theParentResonanceID;
G4DLLIMPORT G4Allocator< G4ReactionProduct > *& aRPAllocator()
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
void SetParentResonanceDef(const G4ParticleDefinition *parentDef)
G4double GetTotalMomentum() const
G4double GetKineticEnergy() const
const G4ParticleDefinition * GetDefinition() const
void SetPositionInNucleus(G4ThreeVector &aPosition)
G4double GetTotalEnergy() const
G4int GetParentResonanceID() const
G4double GetZPositionInNucleus() const
void HasInitialStateParton(G4bool aFlag)
void SetMayBeKilled(const G4bool f)
G4ThreeVector GetPositionInNucleus() const
G4bool GetNewlyAdded() const
void SetCreatorModelID(const G4int mod)
G4double GetXPositionInNucleus() const
friend G4ReactionProduct operator+(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
G4int GetCreatorModelID() const
void SetNewlyAdded(const G4bool f)
G4double GetYPositionInNucleus() const
const G4ParticleDefinition * GetParentResonanceDef() 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 Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
void SetDefinitionAndUpdateE(const G4ParticleDefinition *aParticleDefinition)
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
void SetKineticEnergy(const G4double en)
void SetParentResonanceID(const G4int parentID)
void SetTOF(const G4double t)
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)