G4PrimaryParticle Class Reference

#include <G4PrimaryParticle.hh>


Public Member Functions

void * operator new (size_t)
void operator delete (void *aStackedTrack)
 G4PrimaryParticle ()
 G4PrimaryParticle (G4int Pcode)
 G4PrimaryParticle (G4int Pcode, G4double px, G4double py, G4double pz)
 G4PrimaryParticle (G4int Pcode, G4double px, G4double py, G4double pz, G4double E)
 G4PrimaryParticle (const G4ParticleDefinition *Gcode)
 G4PrimaryParticle (const G4ParticleDefinition *Gcode, G4double px, G4double py, G4double pz)
 G4PrimaryParticle (const G4ParticleDefinition *Gcode, G4double px, G4double py, G4double pz, G4double E)
virtual ~G4PrimaryParticle ()
 G4PrimaryParticle (const G4PrimaryParticle &right)
G4PrimaryParticleoperator= (const G4PrimaryParticle &right)
G4int operator== (const G4PrimaryParticle &right) const
G4int operator!= (const G4PrimaryParticle &right) const
void Print () const
G4int GetPDGcode () const
void SetPDGcode (G4int Pcode)
G4ParticleDefinitionGetG4code () const
void SetG4code (const G4ParticleDefinition *Gcode)
const G4ParticleDefinitionGetParticleDefinition () const
void SetParticleDefinition (const G4ParticleDefinition *pdef)
G4double GetMass () const
void SetMass (G4double mas)
G4double GetCharge () const
void SetCharge (G4double chg)
G4double GetKineticEnergy () const
void SetKineticEnergy (G4double eKin)
const G4ThreeVectorGetMomentumDirection () const
void SetMomentumDirection (const G4ThreeVector &p)
G4double GetTotalMomentum () const
void Set4Momentum (G4double px, G4double py, G4double pz, G4double E)
G4double GetTotalEnergy () const
void SetTotalEnergy (G4double eTot)
G4ThreeVector GetMomentum () const
void SetMomentum (G4double px, G4double py, G4double pz)
G4double GetPx () const
G4double GetPy () const
G4double GetPz () const
G4PrimaryParticleGetNext () const
void SetNext (G4PrimaryParticle *np)
G4PrimaryParticleGetDaughter () const
void SetDaughter (G4PrimaryParticle *np)
G4int GetTrackID () const
void SetTrackID (G4int id)
G4ThreeVector GetPolarization () const
void SetPolarization (const G4ThreeVector &pol)
void SetPolarization (G4double px, G4double py, G4double pz)
G4double GetPolX () const
G4double GetPolY () const
G4double GetPolZ () const
G4double GetWeight () const
void SetWeight (G4double w)
G4double GetProperTime () const
void SetProperTime (G4double t)
G4VUserPrimaryParticleInformationGetUserInformation () const
void SetUserInformation (G4VUserPrimaryParticleInformation *anInfo)


Detailed Description

Definition at line 66 of file G4PrimaryParticle.hh.


Constructor & Destructor Documentation

G4PrimaryParticle::G4PrimaryParticle (  ) 

Definition at line 39 of file G4PrimaryParticle.cc.

Referenced by operator=().

00040 :PDGcode(0),G4code(0),
00041  direction(0.,0.,1.),kinE(0.),
00042  nextParticle(0),daughterParticle(0),trackID(-1),
00043  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00044  Weight0(1.0),properTime(0.0),userInfo(0)
00045 {;}

G4PrimaryParticle::G4PrimaryParticle ( G4int  Pcode  ) 

Definition at line 47 of file G4PrimaryParticle.cc.

References G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGCharge(), and G4ParticleDefinition::GetPDGMass().

00048 :PDGcode(Pcode),
00049  direction(0.,0.,1.),kinE(0.),
00050  nextParticle(0),daughterParticle(0),trackID(-1),
00051  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00052  Weight0(1.0),properTime(0.0),userInfo(0)
00053 { 
00054   G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); 
00055   if (G4code !=0) {
00056     mass   = G4code->GetPDGMass();
00057     charge = G4code->GetPDGCharge();
00058   } 
00059 }

G4PrimaryParticle::G4PrimaryParticle ( G4int  Pcode,
G4double  px,
G4double  py,
G4double  pz 
)

Definition at line 61 of file G4PrimaryParticle.cc.

References G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), and SetMomentum().

00063 :PDGcode(Pcode),
00064  direction(0.,0.,1.),kinE(0.),
00065  nextParticle(0),daughterParticle(0),trackID(-1),
00066  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00067  Weight0(1.0),properTime(0.0),userInfo(0)
00068 { 
00069   G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); 
00070   if (G4code !=0) {
00071     mass   = G4code->GetPDGMass();
00072     charge = G4code->GetPDGCharge();
00073   } 
00074   SetMomentum( px, py, pz);
00075 }

G4PrimaryParticle::G4PrimaryParticle ( G4int  Pcode,
G4double  px,
G4double  py,
G4double  pz,
G4double  E 
)

Definition at line 77 of file G4PrimaryParticle.cc.

References G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), and Set4Momentum().

00079 :PDGcode(Pcode),
00080  direction(0.,0.,1.),kinE(0.),
00081  nextParticle(0),daughterParticle(0),trackID(-1),
00082  charge(0.),polX(0.),polY(0.),polZ(0.),
00083  Weight0(1.0),properTime(0.0),userInfo(0)
00084 {
00085  G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); 
00086  if (G4code !=0) {
00087     mass = G4code->GetPDGMass();
00088     charge = G4code->GetPDGCharge();
00089   } 
00090  Set4Momentum( px, py, pz, E); 
00091 }

G4PrimaryParticle::G4PrimaryParticle ( const G4ParticleDefinition Gcode  ) 

Definition at line 93 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), and G4ParticleDefinition::GetPDGMass().

00094 :PDGcode(0),G4code(Gcode),
00095  direction(0.,0.,1.),kinE(0.),
00096  nextParticle(0),daughterParticle(0),trackID(-1),
00097  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00098  Weight0(1.0),properTime(0.0),userInfo(0)
00099 { 
00100   if (G4code !=0) {
00101     PDGcode = Gcode->GetPDGEncoding(); 
00102     mass = G4code->GetPDGMass();
00103     charge = G4code->GetPDGCharge();
00104   } 
00105 }

G4PrimaryParticle::G4PrimaryParticle ( const G4ParticleDefinition Gcode,
G4double  px,
G4double  py,
G4double  pz 
)

Definition at line 107 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), and SetMomentum().

00109 :PDGcode(0),G4code(Gcode),
00110  direction(0.,0.,1.),kinE(0.),
00111  nextParticle(0),daughterParticle(0),trackID(-1),
00112  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00113  Weight0(1.0),properTime(0.0),userInfo(0)
00114 { 
00115   if (G4code !=0) {
00116     PDGcode = Gcode->GetPDGEncoding(); 
00117     mass = G4code->GetPDGMass();
00118     charge = G4code->GetPDGCharge();
00119   } 
00120   SetMomentum( px, py, pz);
00121 }

G4PrimaryParticle::G4PrimaryParticle ( const G4ParticleDefinition Gcode,
G4double  px,
G4double  py,
G4double  pz,
G4double  E 
)

Definition at line 123 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), and Set4Momentum().

00125 :PDGcode(0),G4code(Gcode),
00126  direction(0.,0.,1.),kinE(0.),
00127  nextParticle(0),daughterParticle(0),trackID(-1),
00128  charge(0.),polX(0.),polY(0.),polZ(0.),
00129  Weight0(1.0),properTime(0.0),userInfo(0)
00130 {
00131   if (G4code !=0) {
00132     PDGcode = Gcode->GetPDGEncoding(); 
00133     mass = G4code->GetPDGMass();
00134     charge = G4code->GetPDGCharge();
00135   } 
00136   Set4Momentum( px, py, pz, E); 
00137 }

G4PrimaryParticle::~G4PrimaryParticle (  )  [virtual]

Definition at line 190 of file G4PrimaryParticle.cc.

00191 {
00192   if(nextParticle != 0){ 
00193     delete nextParticle;
00194     nextParticle = 0;
00195   }
00196   if(daughterParticle != 0){
00197     delete daughterParticle; 
00198     daughterParticle =0;
00199   }
00200   if(userInfo!=0) {
00201     delete userInfo; 
00202     userInfo=0;
00203   }
00204 }

G4PrimaryParticle::G4PrimaryParticle ( const G4PrimaryParticle right  ) 

Definition at line 139 of file G4PrimaryParticle.cc.

00140 :PDGcode(0),G4code(0),
00141  direction(0.,0.,1.),kinE(0.),
00142  nextParticle(0),daughterParticle(0),trackID(-1),
00143  mass(-1.),charge(0.),polX(0.),polY(0.),polZ(0.),
00144  Weight0(1.0),properTime(0.0),userInfo(0)
00145 {
00146   *this = right;
00147 }


Member Function Documentation

G4double G4PrimaryParticle::GetCharge (  )  const [inline]

Definition at line 200 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00201 { return charge; }

G4PrimaryParticle * G4PrimaryParticle::GetDaughter (  )  const [inline]

Definition at line 257 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00258 { return daughterParticle; }

G4ParticleDefinition * G4PrimaryParticle::GetG4code (  )  const [inline]

Definition at line 206 of file G4PrimaryParticle.hh.

00207 { return const_cast<G4ParticleDefinition*>(G4code); }

G4double G4PrimaryParticle::GetKineticEnergy (  )  const [inline]

Definition at line 248 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00249 { return kinE; }

G4double G4PrimaryParticle::GetMass (  )  const [inline]

Definition at line 197 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00198 { return mass;  }

G4ThreeVector G4PrimaryParticle::GetMomentum (  )  const [inline]

Definition at line 218 of file G4PrimaryParticle.hh.

References GetTotalMomentum().

Referenced by G4AdjointPrimaryGeneratorAction::GeneratePrimaries(), G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00219 { return GetTotalMomentum()*direction;}

const G4ThreeVector & G4PrimaryParticle::GetMomentumDirection (  )  const [inline]

Definition at line 221 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00222 { return direction;}

G4PrimaryParticle * G4PrimaryParticle::GetNext (  )  const [inline]

Definition at line 254 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateTracks(), G4PrimaryVertex::GetPrimary(), G4PrimaryVertex::operator=(), and G4PrimaryTransformer::SetDecayProducts().

00255 { return nextParticle; }

const G4ParticleDefinition * G4PrimaryParticle::GetParticleDefinition (  )  const [inline]

Definition at line 209 of file G4PrimaryParticle.hh.

00210 { return G4code; }

G4int G4PrimaryParticle::GetPDGcode (  )  const [inline]

Definition at line 203 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00204 { return PDGcode; }

G4ThreeVector G4PrimaryParticle::GetPolarization (  )  const [inline]

Definition at line 263 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00264 { return G4ThreeVector(polX,polY,polZ); }

G4double G4PrimaryParticle::GetPolX (  )  const [inline]

Definition at line 266 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00267 { return polX; }

G4double G4PrimaryParticle::GetPolY (  )  const [inline]

Definition at line 269 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00270 { return polY; }

G4double G4PrimaryParticle::GetPolZ (  )  const [inline]

Definition at line 272 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00273 { return polZ; }

G4double G4PrimaryParticle::GetProperTime (  )  const [inline]

Definition at line 284 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack(), and G4PrimaryTransformer::SetDecayProducts().

00285 { return properTime; }

G4double G4PrimaryParticle::GetPx (  )  const [inline]

Definition at line 227 of file G4PrimaryParticle.hh.

References GetTotalMomentum().

00228 { return GetTotalMomentum()*direction.x();}

G4double G4PrimaryParticle::GetPy (  )  const [inline]

Definition at line 230 of file G4PrimaryParticle.hh.

References GetTotalMomentum().

00231 { return GetTotalMomentum()*direction.y();}

G4double G4PrimaryParticle::GetPz (  )  const [inline]

Definition at line 233 of file G4PrimaryParticle.hh.

References GetTotalMomentum().

00234 { return GetTotalMomentum()*direction.z();}

G4double G4PrimaryParticle::GetTotalEnergy (  )  const [inline]

Definition at line 236 of file G4PrimaryParticle.hh.

00237 { 
00238   if (mass<0.)  return kinE; 
00239   else          return kinE+mass;
00240 }

G4double G4PrimaryParticle::GetTotalMomentum (  )  const [inline]

Definition at line 212 of file G4PrimaryParticle.hh.

Referenced by GetMomentum(), GetPx(), GetPy(), GetPz(), and Print().

00213 { 
00214   if (mass<0.)  return kinE; 
00215   else          return std::sqrt(kinE*(kinE+2.*mass));
00216 }

G4int G4PrimaryParticle::GetTrackID (  )  const [inline]

Definition at line 260 of file G4PrimaryParticle.hh.

00261 { return trackID; }

G4VUserPrimaryParticleInformation * G4PrimaryParticle::GetUserInformation (  )  const [inline]

Definition at line 290 of file G4PrimaryParticle.hh.

00291 { return userInfo; }

G4double G4PrimaryParticle::GetWeight (  )  const [inline]

Definition at line 275 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00276 { return Weight0; }

void G4PrimaryParticle::operator delete ( void *  aStackedTrack  )  [inline]

Definition at line 192 of file G4PrimaryParticle.hh.

References aPrimaryParticleAllocator.

00193 {
00194   aPrimaryParticleAllocator.FreeSingle((G4PrimaryParticle *) aPrimaryParticle);
00195 }

void * G4PrimaryParticle::operator new ( size_t   )  [inline]

Definition at line 185 of file G4PrimaryParticle.hh.

References aPrimaryParticleAllocator.

00186 {
00187   void * aPrimaryParticle;
00188   aPrimaryParticle = (void *) aPrimaryParticleAllocator.MallocSingle();
00189   return aPrimaryParticle;
00190 }

G4int G4PrimaryParticle::operator!= ( const G4PrimaryParticle right  )  const

Definition at line 187 of file G4PrimaryParticle.cc.

00188 { return (this!=&right); }

G4PrimaryParticle & G4PrimaryParticle::operator= ( const G4PrimaryParticle right  ) 

Definition at line 149 of file G4PrimaryParticle.cc.

References charge, daughterParticle, direction, G4code, G4PrimaryParticle(), kinE, mass, nextParticle, PDGcode, polX, polY, polZ, properTime, trackID, and Weight0.

00150 { 
00151   if (this != &right) {
00152     PDGcode      = right.PDGcode;
00153     G4code       = right.G4code;
00154     direction    = right.direction;
00155     kinE         = right.kinE;
00156     if (nextParticle !=0) delete nextParticle;
00157     if ( right.nextParticle ==0 ){
00158       nextParticle = 0;
00159     } else {
00160       nextParticle = new G4PrimaryParticle(*right.nextParticle);
00161     }
00162     if (daughterParticle !=0) delete daughterParticle;
00163     if ( right.daughterParticle ==0 ){
00164       daughterParticle = 0;
00165     } else {
00166       daughterParticle = new G4PrimaryParticle(*right.daughterParticle);
00167     }
00168     trackID      = right.trackID;
00169     mass         = right.mass;
00170     charge       = right.charge;
00171     polX         = right.polX;
00172     polY         = right.polY;
00173     polZ         = right.polZ;
00174     Weight0      = right.Weight0;
00175     properTime   = right.properTime;
00176 
00177     // userInfo can not be copied
00178     userInfo = 0;
00179   }
00180   
00181   return *this; 
00182 }

G4int G4PrimaryParticle::operator== ( const G4PrimaryParticle right  )  const

Definition at line 184 of file G4PrimaryParticle.cc.

00185 { return (this==&right); }

void G4PrimaryParticle::Print (  )  const

Definition at line 260 of file G4PrimaryParticle.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), GetTotalMomentum(), ns, Print(), and G4VUserPrimaryParticleInformation::Print().

Referenced by G4PrimaryVertex::Print(), and Print().

00261 {
00262   G4cout << "==== PDGcode " << PDGcode << "  Particle name ";
00263   if(G4code != 0)
00264   { G4cout << G4code->GetParticleName() << G4endl; }
00265   else
00266   { G4cout << " is not defined in G4." << G4endl; }
00267   G4cout << " Assigned charge : " << charge/eplus  << G4endl; 
00268   G4cout << "     Momentum ( " 
00269          << GetTotalMomentum()*direction.x()/GeV << "[GeV/c], " 
00270          << GetTotalMomentum()*direction.y()/GeV << "[GeV/c], " 
00271          << GetTotalMomentum()*direction.z()/GeV << "[GeV/c] )" << G4endl;
00272   G4cout << "     kinetic Energy : " << kinE/GeV  << " [GeV]" << G4endl;
00273   if(mass>=0.){ 
00274     G4cout << "     Mass : " << mass/GeV << " [GeV]" << G4endl; 
00275   } else { 
00276     G4cout << "     Mass is not assigned " << G4endl; 
00277   }
00278   G4cout << "     Polarization ( " 
00279          << polX << ", " 
00280          << polY << ", "
00281          << polZ << " )" 
00282          << G4endl;
00283   G4cout << "     Weight : " << Weight0 << G4endl;
00284   if(properTime>0.0) { 
00285     G4cout << "     PreAssigned proper decay time : " << properTime/ns << " [ns] " << G4endl; 
00286   }
00287   if(userInfo != 0) { userInfo->Print(); }
00288   if(daughterParticle != 0) {
00289     G4cout << ">>>> Daughters" << G4endl;
00290     daughterParticle->Print();
00291   }
00292   if(nextParticle != 0) { 
00293     nextParticle->Print(); 
00294   } else { 
00295     G4cout << "<<<< End of link" << G4endl; 
00296   }
00297 }

void G4PrimaryParticle::Set4Momentum ( G4double  px,
G4double  py,
G4double  pz,
G4double  E 
)

Definition at line 220 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGMass().

Referenced by G4PrimaryParticle().

00221 { 
00222   G4double pmom =  std::sqrt(px*px+py*py+pz*pz);
00223   if (pmom>0.0) {
00224     direction.setX(px/pmom);
00225     direction.setY(py/pmom);
00226     direction.setZ(pz/pmom);
00227   }
00228   G4double mas2 = E*E - pmom*pmom;
00229   if(mas2>=0.){ 
00230     mass = std::sqrt(mas2); 
00231   } else { 
00232     if (G4code!=0){ 
00233       mass =  G4code->GetPDGMass(); 
00234     }
00235     E = std::sqrt(pmom*pmom+mass*mass);
00236   }
00237   kinE = E - mass;
00238 }

void G4PrimaryParticle::SetCharge ( G4double  chg  )  [inline]

Definition at line 316 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex().

00317 { charge = chg; }

void G4PrimaryParticle::SetDaughter ( G4PrimaryParticle np  )  [inline]

Definition at line 304 of file G4PrimaryParticle.hh.

References SetNext().

Referenced by G4HEPEvtInterface::GeneratePrimaryVertex().

00305 { 
00306   if(daughterParticle == 0)  { daughterParticle = np; }
00307   else                       { daughterParticle->SetNext(np); }
00308 }

void G4PrimaryParticle::SetG4code ( const G4ParticleDefinition Gcode  )  [inline]

Definition at line 293 of file G4PrimaryParticle.hh.

References SetParticleDefinition().

00294 {
00295   SetParticleDefinition(Gcode);
00296 }

void G4PrimaryParticle::SetKineticEnergy ( G4double  eKin  )  [inline]

Definition at line 251 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex(), and G4RayShooter::Shoot().

00252 { kinE = eKin; }

void G4PrimaryParticle::SetMass ( G4double  mas  )  [inline]

Definition at line 313 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex(), G4HEPEvtInterface::GeneratePrimaryVertex(), and G4RayShooter::Shoot().

00314 { mass = mas; }

void G4PrimaryParticle::SetMomentum ( G4double  px,
G4double  py,
G4double  pz 
)

Definition at line 206 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGMass().

Referenced by G4PrimaryParticle(), and G4HEPEvtInterface::GeneratePrimaryVertex().

00207 { 
00208   if ((mass<0.)&&(G4code!=0)){ 
00209     mass =  G4code->GetPDGMass(); 
00210   }
00211   G4double pmom =  std::sqrt(px*px+py*py+pz*pz);
00212   if (pmom>0.0) {
00213     direction.setX(px/pmom);
00214     direction.setY(py/pmom);
00215     direction.setZ(pz/pmom);
00216   }
00217   kinE = std::sqrt(px*px+py*py+pz*pz+mass*mass)-mass;
00218 }

void G4PrimaryParticle::SetMomentumDirection ( const G4ThreeVector p  )  [inline]

Definition at line 224 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex(), and G4RayShooter::Shoot().

00225 { direction = p;}

void G4PrimaryParticle::SetNext ( G4PrimaryParticle np  )  [inline]

Definition at line 298 of file G4PrimaryParticle.hh.

References SetNext().

Referenced by SetDaughter(), SetNext(), and G4PrimaryVertex::SetPrimary().

00299 { 
00300   if   (nextParticle == 0) { nextParticle = np; }
00301   else                     { nextParticle->SetNext(np); }
00302 }

void G4PrimaryParticle::SetParticleDefinition ( const G4ParticleDefinition pdef  ) 

Definition at line 250 of file G4PrimaryParticle.cc.

References G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), and G4ParticleDefinition::GetPDGMass().

Referenced by SetG4code().

00251 {
00252   G4code = Gcode;
00253   if (G4code!=0){ 
00254     PDGcode = Gcode->GetPDGEncoding();
00255     mass =  G4code->GetPDGMass(); 
00256     charge = G4code->GetPDGCharge();
00257   }
00258 }

void G4PrimaryParticle::SetPDGcode ( G4int  Pcode  ) 

Definition at line 240 of file G4PrimaryParticle.cc.

References G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGCharge(), and G4ParticleDefinition::GetPDGMass().

00241 {
00242   PDGcode = Pcode;
00243   G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode);
00244   if (G4code!=0){ 
00245     mass =  G4code->GetPDGMass(); 
00246     charge = G4code->GetPDGCharge();
00247   }
00248 }

void G4PrimaryParticle::SetPolarization ( G4double  px,
G4double  py,
G4double  pz 
) [inline]

Definition at line 319 of file G4PrimaryParticle.hh.

00320 {
00321   polX = px;
00322   polY = py;
00323   polZ = pz;
00324 }

void G4PrimaryParticle::SetPolarization ( const G4ThreeVector pol  )  [inline]

Definition at line 326 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex(), and G4RayShooter::Shoot().

00327 {
00328   polX = pol.x();
00329   polY = pol.y();
00330   polZ = pol.z();
00331 }

void G4PrimaryParticle::SetProperTime ( G4double  t  )  [inline]

Definition at line 281 of file G4PrimaryParticle.hh.

00282 { properTime = t; }

void G4PrimaryParticle::SetTotalEnergy ( G4double  eTot  )  [inline]

Definition at line 242 of file G4PrimaryParticle.hh.

00243 { 
00244   if (mass<0.)  kinE = eTot; 
00245   else          kinE = eTot - mass;
00246 }

void G4PrimaryParticle::SetTrackID ( G4int  id  )  [inline]

Definition at line 310 of file G4PrimaryParticle.hh.

Referenced by G4PrimaryTransformer::GenerateSingleTrack().

00311 { trackID = id; }

void G4PrimaryParticle::SetUserInformation ( G4VUserPrimaryParticleInformation anInfo  )  [inline]

Definition at line 287 of file G4PrimaryParticle.hh.

00288 { userInfo = anInfo; }

void G4PrimaryParticle::SetWeight ( G4double  w  )  [inline]

Definition at line 278 of file G4PrimaryParticle.hh.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex().

00279 { Weight0 = w; }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:59 2013 for Geant4 by  doxygen 1.4.7