34 #define INCLXX_IN_GEANT4_MODE 1
57 thePropagationEnergy(&theEnergy),
58 theFrozenEnergy(theEnergy),
60 thePropagationMomentum(&theMomentum),
61 theFrozenMomentum(theMomentum),
65 thePotentialEnergy(0.0),
67 uncorrelatedMomentum(0.),
80 thePropagationEnergy(&theEnergy),
81 theFrozenEnergy(theEnergy),
82 theMomentum(momentum),
83 thePropagationMomentum(&theMomentum),
84 theFrozenMomentum(theMomentum),
85 thePosition(position),
86 nCollisions(0), nDecays(0),
87 thePotentialEnergy(0.),
89 uncorrelatedMomentum(theMomentum.mag()),
91 emissionTime(0.0), outOfWell(false)
105 : thePropagationEnergy(&theEnergy),
106 theMomentum(momentum),
107 thePropagationMomentum(&theMomentum),
108 theFrozenMomentum(theMomentum),
109 thePosition(position),
110 nCollisions(0), nDecays(0),
111 thePotentialEnergy(0.),
113 uncorrelatedMomentum(theMomentum.mag()),
115 emissionTime(0.0), outOfWell(false)
122 INCL_ERROR(
"Cannot create resonance without specifying its momentum four-vector." <<
'\n');
148 for(const_iterator i=begin(), e=end(); i!=e; ++i) {
149 (*i)->rotatePositionAndMomentum(angle, axis);
154 for(const_iterator i=begin(), e=end(); i!=e; ++i) {
155 (*i)->rotatePosition(angle, axis);
160 for(const_iterator i=begin(), e=end(); i!=e; ++i) {
161 (*i)->rotateMomentum(angle, axis);
166 for(const_iterator i=begin(), e=end(); i!=e; ++i) {
ParticipantType theParticipantType
void rotatePosition(const G4double angle, const ThreeVector &axis) const
void setMass(G4double mass)
G4bool isResonance() const
Is it a resonance?
G4double adjustEnergyFromMomentum()
Recompute the energy to match the momentum.
std::string print() const
static G4double angle[DIM]
G4double getInvariantMass() const
Get the the particle invariant mass.
void boost(const ThreeVector &b) const
G4double energy(const ThreeVector &p, const G4double m)
void setType(ParticleType t)
void rotatePositionAndMomentum(const G4double angle, const ThreeVector &axis) const
G4INCL::ThreeVector theMomentum
void rotateMomentum(const G4double angle, const ThreeVector &axis) const
const ThreeVector & adjustMomentumFromEnergy()
Rescale the momentum to match the total energy.