32 #ifndef G4PrimaryParticle_h
33 #define G4PrimaryParticle_h 1
71 inline void *
operator new(size_t);
72 inline void operator delete(
void *aStackedTrack);
184 inline void * G4PrimaryParticle::operator
new(size_t)
193 inline void G4PrimaryParticle::operator
delete(
void * aPrimaryParticle)
215 if (mass<0.)
return kinE;
216 else return std::sqrt(kinE*(kinE+2.*mass));
239 if (mass<0.)
return kinE;
240 else return kinE+mass;
245 if (mass<0.) kinE = eTot;
246 else kinE = eTot - mass;
256 {
return nextParticle; }
259 {
return daughterParticle; }
286 {
return properTime; }
289 { userInfo = anInfo; }
301 if (nextParticle == 0) { nextParticle = np; }
302 else { nextParticle->
SetNext(np); }
307 nextParticle =
nullptr;
312 if(daughterParticle == 0) { daughterParticle = np; }
313 else { daughterParticle->
SetNext(np); }
void SetNext(G4PrimaryParticle *np)
G4ThreeVector GetMomentum() const
void SetUserInformation(G4VUserPrimaryParticleInformation *anInfo)
virtual ~G4PrimaryParticle()
CLHEP::Hep3Vector G4ThreeVector
G4double GetKineticEnergy() const
G4ThreeVector GetPolarization() const
G4double GetTotalMomentum() const
const G4ThreeVector & GetMomentumDirection() const
G4ParticleDefinition * GetG4code() const
void SetKineticEnergy(G4double eKin)
void SetPDGcode(G4int Pcode)
G4PrimaryParticle * GetDaughter() const
void SetTrackID(G4int id)
void SetMass(G4double mas)
G4double GetTotalEnergy() const
G4PART_DLL G4ThreadLocal G4Allocator< G4PrimaryParticle > * aPrimaryParticleAllocator
G4double GetProperTime() const
G4double GetWeight() const
const G4ParticleDefinition * GetParticleDefinition() const
void SetG4code(const G4ParticleDefinition *Gcode)
G4PrimaryParticle * GetNext() const
void SetMomentumDirection(const G4ThreeVector &p)
void SetParticleDefinition(const G4ParticleDefinition *pdef)
void SetWeight(G4double w)
void SetCharge(G4double chg)
void SetDaughter(G4PrimaryParticle *np)
G4double GetCharge() const
G4int operator==(const G4PrimaryParticle &right) const
void SetProperTime(G4double t)
void Set4Momentum(G4double px, G4double py, G4double pz, G4double E)
G4PrimaryParticle & operator=(const G4PrimaryParticle &right)
void SetTotalEnergy(G4double eTot)
void SetMomentum(G4double px, G4double py, G4double pz)
void SetPolarization(const G4ThreeVector &pol)
G4VUserPrimaryParticleInformation * GetUserInformation() const
G4int operator!=(const G4PrimaryParticle &right) const