32#ifndef G4PrimaryParticle_h
33#define G4PrimaryParticle_h 1
69 inline void *
operator new(size_t);
70 inline void operator delete(
void *aStackedTrack);
179#if defined G4PARTICLES_ALLOC_EXPORT
185inline void * G4PrimaryParticle::operator
new(size_t)
187 void * aPrimaryParticle;
189 return aPrimaryParticle;
192inline void G4PrimaryParticle::operator
delete(
void * aPrimaryParticle)
214 if (mass<0.)
return kinE;
215 else return std::sqrt(kinE*(kinE+2.*mass));
238 if (mass<0.)
return kinE;
239 else return kinE+mass;
244 if (mass<0.) kinE = eTot;
245 else kinE = eTot - mass;
255{
return nextParticle; }
258{
return daughterParticle; }
285{
return properTime; }
288{ userInfo = anInfo; }
300 if (nextParticle == 0) { nextParticle = np; }
301 else { nextParticle->
SetNext(np); }
306 if(daughterParticle == 0) { daughterParticle = np; }
307 else { daughterParticle->
SetNext(np); }
G4DLLIMPORT G4Allocator< G4PrimaryParticle > aPrimaryParticleAllocator
CLHEP::Hep3Vector G4ThreeVector
void SetPDGcode(G4int Pcode)
G4int operator==(const G4PrimaryParticle &right) const
G4double GetTotalEnergy() const
G4double GetWeight() const
void SetTotalEnergy(G4double eTot)
G4double GetCharge() const
void SetG4code(const G4ParticleDefinition *Gcode)
G4double GetKineticEnergy() const
void SetCharge(G4double chg)
G4VUserPrimaryParticleInformation * GetUserInformation() const
G4double GetProperTime() const
const G4ThreeVector & GetMomentumDirection() const
void SetPolarization(const G4ThreeVector &pol)
void SetTrackID(G4int id)
void SetNext(G4PrimaryParticle *np)
G4ThreeVector GetPolarization() const
G4PrimaryParticle * GetNext() const
G4PrimaryParticle & operator=(const G4PrimaryParticle &right)
void SetKineticEnergy(G4double eKin)
void SetWeight(G4double w)
void Set4Momentum(G4double px, G4double py, G4double pz, G4double E)
void SetMomentum(G4double px, G4double py, G4double pz)
G4double GetTotalMomentum() const
void SetMomentumDirection(const G4ThreeVector &p)
G4ThreeVector GetMomentum() const
void SetMass(G4double mas)
void SetProperTime(G4double t)
void SetUserInformation(G4VUserPrimaryParticleInformation *anInfo)
void SetParticleDefinition(const G4ParticleDefinition *pdef)
void SetDaughter(G4PrimaryParticle *np)
G4int operator!=(const G4PrimaryParticle &right) const
G4PrimaryParticle * GetDaughter() const
virtual ~G4PrimaryParticle()
const G4ParticleDefinition * GetParticleDefinition() const
G4ParticleDefinition * GetG4code() const