Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ParticleDefinition Class Reference

#include <G4ParticleDefinition.hh>

Inherited by G4AdjointElectron, G4AdjointElectronFI, G4AdjointGamma, G4AdjointIons, G4AdjointPositron, G4AdjointProton, G4AntiBMesonZero, G4AntiBsMesonZero, G4AntiDMesonZero, G4AntiKaonZero, G4AntiLambda, G4AntiLambdab, G4AntiLambdacPlus, G4AntiNeutrinoE, G4AntiNeutrinoMu, G4AntiNeutrinoTau, G4AntiNeutron, G4AntiOmegabMinus, G4AntiOmegacZero, G4AntiOmegaMinus, G4AntiProton, G4AntiSigmabMinus, G4AntiSigmabPlus, G4AntiSigmabZero, G4AntiSigmacPlus, G4AntiSigmacPlusPlus, G4AntiSigmacZero, G4AntiSigmaMinus, G4AntiSigmaPlus, G4AntiSigmaZero, G4AntiXibMinus, G4AntiXibZero, G4AntiXicPlus, G4AntiXicZero, G4AntiXiMinus, G4AntiXiZero, G4BcMesonMinus, G4BcMesonPlus, G4BMesonMinus, G4BMesonPlus, G4BMesonZero, G4BsMesonZero, G4ChargedGeantino, G4DMesonMinus, G4DMesonPlus, G4DMesonZero, G4DNAIons, G4DsMesonMinus, G4DsMesonPlus, G4Electron, G4Eta, G4Etac, G4EtaPrime, G4Gamma, G4Geantino, G4Ions, G4JPsi, G4KaonMinus, G4KaonPlus, G4KaonZero, G4KaonZeroLong, G4KaonZeroShort, G4Lambda, G4Lambdab, G4LambdacPlus, G4MoleculeDefinition, G4Monopole, G4MuonMinus, G4MuonPlus, G4NeutrinoE, G4NeutrinoMu, G4NeutrinoTau, G4OmegabMinus, G4OmegacZero, G4OmegaMinus, G4OpticalPhoton, G4PhononLong, G4PhononTransFast, G4PhononTransSlow, G4PionMinus, G4PionPlus, G4PionZero, G4Positron, G4SigmabMinus, G4SigmabPlus, G4SigmabZero, G4SigmacPlus, G4SigmacPlusPlus, G4SigmacZero, G4SigmaMinus, G4SigmaPlus, G4SigmaZero, G4TauMinus, G4TauPlus, G4UnknownParticle, G4Upsilon, G4VShortLivedParticle, G4XibMinus, G4XibZero, G4XicPlus, G4XicZero, G4XiMinus, and G4XiZero.

Public Member Functions

 G4ParticleDefinition (const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospinZ, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived=false, const G4String &subType="", G4int anti_encoding=0, G4double magneticMoment=0.0)
 
virtual ~G4ParticleDefinition ()
 
const G4StringGetParticleName () const
 
G4double GetPDGMass () const
 
G4double GetPDGWidth () const
 
G4double GetPDGCharge () const
 
G4double GetPDGSpin () const
 
G4int GetPDGiSpin () const
 
G4int GetPDGiParity () const
 
G4int GetPDGiConjugation () const
 
G4double GetPDGIsospin () const
 
G4double GetPDGIsospin3 () const
 
G4int GetPDGiIsospin () const
 
G4int GetPDGiIsospin3 () const
 
G4int GetPDGiGParity () const
 
G4double GetPDGMagneticMoment () const
 
void SetPDGMagneticMoment (G4double mageticMoment)
 
G4double CalculateAnomaly () const
 
const G4StringGetParticleType () const
 
const G4StringGetParticleSubType () const
 
G4int GetLeptonNumber () const
 
G4int GetBaryonNumber () const
 
G4int GetPDGEncoding () const
 
G4int GetAntiPDGEncoding () const
 
void SetAntiPDGEncoding (G4int aEncoding)
 
G4int GetQuarkContent (G4int flavor) const
 
G4int GetAntiQuarkContent (G4int flavor) const
 
G4bool IsShortLived () const
 
G4bool GetPDGStable () const
 
void SetPDGStable (const G4bool aFlag)
 
G4double GetPDGLifeTime () const
 
void SetPDGLifeTime (G4double aLifeTime)
 
G4double GetIonLifeTime () const
 
G4DecayTableGetDecayTable () const
 
void SetDecayTable (G4DecayTable *aDecayTable)
 
G4ProcessManagerGetProcessManager () const
 
void SetProcessManager (G4ProcessManager *aProcessManager)
 
G4ParticleTableGetParticleTable () const
 
G4int GetAtomicNumber () const
 
G4int GetAtomicMass () const
 
void DumpTable () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
void SetApplyCutsFlag (G4bool)
 
G4bool GetApplyCutsFlag () const
 
G4bool IsGeneralIon () const
 
G4int operator== (const G4ParticleDefinition &right) const
 
G4int operator!= (const G4ParticleDefinition &right) const
 
G4ProcessManagerGetMasterProcessManager () const
 
void SetMasterProcessManager (G4ProcessManager *aNewPM)
 
G4int GetInstanceID () const
 
void SetParticleDefinitionID (G4int id=-1)
 
G4int GetParticleDefinitionID () const
 

Static Public Member Functions

static const G4PDefManagerGetSubInstanceManager ()
 

Protected Types

enum  { NumberOfQuarkFlavor = 6 }
 

Protected Member Functions

G4int FillQuarkContents ()
 
void SetParticleSubType (const G4String &subtype)
 
void SetAtomicNumber (G4int)
 
void SetAtomicMass (G4int)
 
 G4ParticleDefinition (const G4ParticleDefinition &right)
 
 G4ParticleDefinition ()
 

Protected Attributes

G4int theQuarkContent [NumberOfQuarkFlavor]
 
G4int theAntiQuarkContent [NumberOfQuarkFlavor]
 
G4bool isGeneralIon
 

Friends

class G4ParticlePropertyTable
 

Detailed Description

Definition at line 72 of file G4ParticleDefinition.hh.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
NumberOfQuarkFlavor 

Definition at line 257 of file G4ParticleDefinition.hh.

Constructor & Destructor Documentation

G4ParticleDefinition::G4ParticleDefinition ( const G4String aName,
G4double  mass,
G4double  width,
G4double  charge,
G4int  iSpin,
G4int  iParity,
G4int  iConjugation,
G4int  iIsospin,
G4int  iIsospinZ,
G4int  gParity,
const G4String pType,
G4int  lepton,
G4int  baryon,
G4int  encoding,
G4bool  stable,
G4double  lifetime,
G4DecayTable decaytable,
G4bool  shortlived = false,
const G4String subType = "",
G4int  anti_encoding = 0,
G4double  magneticMoment = 0.0 
)

Definition at line 80 of file G4ParticleDefinition.cc.

103  : theParticleName(aName),
104  thePDGMass(mass),
105  thePDGWidth(width),
106  thePDGCharge(charge),
107  thePDGiSpin(iSpin),
108  thePDGSpin(iSpin*0.5),
109  thePDGiParity(iParity),
110  thePDGiConjugation(iConjugation),
111  thePDGiGParity(gParity),
112  thePDGiIsospin(iIsospin),
113  thePDGiIsospin3(iIsospin3),
114  thePDGIsospin(iIsospin*0.5),
115  thePDGIsospin3(iIsospin3*0.5),
116  thePDGMagneticMoment(magneticMoment),
117  theLeptonNumber(lepton),
118  theBaryonNumber(baryon),
119  theParticleType(pType),
120  theParticleSubType(subType),
121  thePDGEncoding(encoding),
122  theAntiPDGEncoding(-1*encoding),
123  fShortLivedFlag(shortlived),
124  thePDGStable(stable),
125  thePDGLifeTime(lifetime),
126  theDecayTable(decaytable),
127  theAtomicNumber(0),
128  theAtomicMass(0),
129  verboseLevel(1),
130  fApplyCutsFlag(false),
131  isGeneralIon(false)
132 {
133  static G4String nucleus("nucleus");
134 
135  g4particleDefinitionInstanceID = -1;
136  theProcessManagerShadow = 0;
137 
138  theParticleTable = G4ParticleTable::GetParticleTable();
139 
140  //set verboseLevel equal to ParticleTable
141  verboseLevel = theParticleTable->GetVerboseLevel();
142 
143  if (anti_encoding !=0) theAntiPDGEncoding = anti_encoding;
144 
145  // check quark contents
146  if (this->FillQuarkContents() != thePDGEncoding) {
147 #ifdef G4VERBOSE
148  if (verboseLevel>0) {
149  // Using G4cout expecting that it is available in construction of static objects
150  G4cout << "Particle " << aName << " has a strange PDGEncoding " <<G4endl;
151  }
152 #endif
153  G4Exception( "G4ParticleDefintion::G4ParticleDefintion",
154  "PART102", JustWarning,
155  "Strange PDGEncoding ");
156  }
157 
158  // check initialization is in Pre_Init state except for ions
160 
161  if ( !fShortLivedFlag && (theParticleType!=nucleus) && (currentState!=G4State_PreInit)){
162 #ifdef G4VERBOSE
163  if (GetVerboseLevel()>0) {
164  G4cout << "G4ParticleDefintion (other than ions and shortlived) should be created in Pre_Init state "
165  << aName << G4endl;
166  }
167 #endif
168  G4Exception( "G4ParticleDefintion::G4ParticleDefintion",
169  "PART101", JustWarning,
170  "G4ParticleDefinition should be created in PreInit state");
171  }
172 
173 
174  if (theParticleTable->GetIonTable()->IsIon(this)) {
177  }
178 
179  if (theParticleTable->GetIonTable()->IsAntiIon(this)) {
180  SetAtomicNumber( std::abs(G4int(GetPDGCharge()/eplus)) );
181  SetAtomicMass( std::abs(GetBaryonNumber()) );
182  }
183 
184  // check name and register this particle into ParticleTable
185  theParticleTable->Insert(this);
186 
187 }
void SetAtomicNumber(G4int)
G4int GetVerboseLevel() const
static G4bool IsIon(const G4ParticleDefinition *)
Definition: G4IonTable.cc:1147
#define width
static G4bool IsAntiIon(const G4ParticleDefinition *)
Definition: G4IonTable.cc:1172
int G4int
Definition: G4Types.hh:78
static G4StateManager * GetStateManager()
G4ParticleDefinition * Insert(G4ParticleDefinition *particle)
G4IonTable * GetIonTable() const
G4GLOB_DLL std::ostream G4cout
static constexpr double eplus
Definition: G4SIunits.hh:199
G4ApplicationState GetCurrentState() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static G4ParticleTable * GetParticleTable()
#define G4endl
Definition: G4ios.hh:61
G4double GetPDGCharge() const
G4int GetVerboseLevel() const
G4ApplicationState
void SetAtomicMass(G4int)

Here is the call graph for this function:

G4ParticleDefinition::~G4ParticleDefinition ( )
virtual

Definition at line 204 of file G4ParticleDefinition.cc.

205 {
206  if (G4ParticleTable::GetParticleTable()->GetReadiness()) {
208  G4ApplicationState currentState = pStateManager->GetCurrentState();
209  if (currentState != G4State_PreInit) {
210  G4String msg = "Request of deletion for ";
211  msg += GetParticleName();
212  msg += " has No effects because readyToUse is true.";
213  G4Exception("G4ParticleDefinition::~G4ParticleDefinition()",
214  "PART117", JustWarning, msg);
215  return ;
216  } else {
217 #ifdef G4VERBOSE
218  if (verboseLevel>0){
220  << " will be deleted " << G4endl;
221  }
222 #endif
223  }
224  }
225 
226  if (theDecayTable!= 0) delete theDecayTable;
227 }
const G4String & GetParticleName() const
static G4StateManager * GetStateManager()
G4GLOB_DLL std::ostream G4cout
G4ApplicationState GetCurrentState() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static G4ParticleTable * GetParticleTable()
#define G4endl
Definition: G4ios.hh:61
G4ApplicationState

Here is the call graph for this function:

G4ParticleDefinition::G4ParticleDefinition ( const G4ParticleDefinition right)
protected

Definition at line 189 of file G4ParticleDefinition.cc.

190 {
191  G4Exception("G4ParticleDefinition::G4ParticleDefinition()",
192  "PART001", FatalException,
193  "Illegal call of copy Constructor for G4ParticleDefinition ");
194 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

Here is the call graph for this function:

G4ParticleDefinition::G4ParticleDefinition ( )
protected

Definition at line 196 of file G4ParticleDefinition.cc.

197 {
198  G4Exception("G4ParticleDefinition::G4ParticleDefinition()",
199  "PART001", FatalException,
200  "Illegal call of default Constructor for G4ParticleDefinition ");
201 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

Here is the call graph for this function:

Member Function Documentation

G4double G4ParticleDefinition::CalculateAnomaly ( ) const

Definition at line 411 of file G4ParticleDefinition.cc.

412 {
413  G4Exception( "G4ParticleDefintion::G4ParticleDefintion",
414  "PART114", JustWarning,
415  "CalculateAnomaly() method will be removed in next release");
416 
417  // gives the anomaly of magnetic moment for spin 1/2 particles
418  if (thePDGiSpin==1) {
420  return 0.5*std::fabs(thePDGMagneticMoment/muB - 2.*thePDGCharge/CLHEP::eplus);
421  } else {
422  return 0.0;
423  }
424 }
static constexpr double eplus
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static constexpr double c_squared
double G4double
Definition: G4Types.hh:76
static constexpr double hbar_Planck

Here is the call graph for this function:

void G4ParticleDefinition::DumpTable ( ) const

Definition at line 320 of file G4ParticleDefinition.cc.

321 {
322  G4cout << G4endl;
323  G4cout << "--- G4ParticleDefinition ---" << G4endl;
324  G4cout << " Particle Name : " << theParticleName << G4endl;
325  G4cout << " PDG particle code : " << thePDGEncoding;
326  G4cout << " [PDG anti-particle code: " << this->GetAntiPDGEncoding() << "]"<< G4endl;
327  G4cout << " Mass [GeV/c2] : " << thePDGMass/GeV ;
328  G4cout << " Width : " << thePDGWidth/GeV << G4endl;
329  G4cout << " Lifetime [nsec] : " << thePDGLifeTime/ns << G4endl;
330  G4cout << " Charge [e]: " << thePDGCharge/eplus << G4endl;
331  G4cout << " Spin : " << thePDGiSpin << "/2" << G4endl;
332  G4cout << " Parity : " << thePDGiParity << G4endl;
333  G4cout << " Charge conjugation : " << thePDGiConjugation << G4endl;
334  G4cout << " Isospin : (I,Iz): (" << thePDGiIsospin <<"/2";
335  G4cout << " , " << thePDGiIsospin3 << "/2 ) " << G4endl;
336  G4cout << " GParity : " << thePDGiGParity << G4endl;
337  if (thePDGMagneticMoment != 0.0) {
338  G4cout << " MagneticMoment [MeV/T] : " << thePDGMagneticMoment/MeV*tesla << G4endl;
339  }
340  G4cout << " Quark contents (d,u,s,c,b,t) : " << theQuarkContent[0];
341  G4cout << ", " << theQuarkContent[1];
342  G4cout << ", " << theQuarkContent[2];
343  G4cout << ", " << theQuarkContent[3];
344  G4cout << ", " << theQuarkContent[4];
345  G4cout << ", " << theQuarkContent[5] << G4endl;
346  G4cout << " AntiQuark contents : " << theAntiQuarkContent[0];
347  G4cout << ", " << theAntiQuarkContent[1];
348  G4cout << ", " << theAntiQuarkContent[2];
349  G4cout << ", " << theAntiQuarkContent[3];
350  G4cout << ", " << theAntiQuarkContent[4];
351  G4cout << ", " << theAntiQuarkContent[5] << G4endl;
352  G4cout << " Lepton number : " << theLeptonNumber;
353  G4cout << " Baryon number : " << theBaryonNumber << G4endl;
354  G4cout << " Particle type : " << theParticleType ;
355  G4cout << " [" << theParticleSubType << "]" << G4endl;
356 
357  if ( (theParticleTable->GetIonTable()->IsIon(this))
358  || (theParticleTable->GetIonTable()->IsAntiIon(this)) ) {
359  G4cout << " Atomic Number : " << GetAtomicNumber();
360  G4cout << " Atomic Mass : " << GetAtomicMass() << G4endl;
361  }
362  if ( fShortLivedFlag ){
363  G4cout << " ShortLived : ON" << G4endl;
364  }
365 
366  if ( IsGeneralIon() ) {
367  G4double lftm = GetIonLifeTime();
368  if(lftm<-1000.)
369  { G4cout << " Stable : No data found -- unknown" << G4endl; }
370  else if(lftm<0.)
371  { G4cout << " Stable : stable" << G4endl; }
372  else
373  {
374  G4cout << " Stable : unstable -- lifetime = " << G4BestUnit(lftm,"Time")
375  << "\n Decay table should be consulted to G4RadioactiveDecayProcess."
376  << G4endl;
377  }
378  }
379  else
380  {
381  if ( thePDGStable ){
382  G4cout << " Stable : stable" << G4endl;
383  } else {
384  if( theDecayTable != 0 ){
385  theDecayTable->DumpInfo();
386  } else {
387  G4cout << "Decay Table is not defined !!" <<G4endl;
388  }
389  }
390  }
391 }
static constexpr double tesla
Definition: G4SIunits.hh:268
static G4bool IsIon(const G4ParticleDefinition *)
Definition: G4IonTable.cc:1147
static G4bool IsAntiIon(const G4ParticleDefinition *)
Definition: G4IonTable.cc:1172
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4int GetAtomicNumber() const
G4bool IsGeneralIon() const
G4int GetAntiPDGEncoding() const
G4double GetIonLifeTime() const
G4IonTable * GetIonTable() const
G4GLOB_DLL std::ostream G4cout
void DumpInfo() const
static constexpr double eplus
Definition: G4SIunits.hh:199
G4int GetAtomicMass() const
G4int theAntiQuarkContent[NumberOfQuarkFlavor]
G4int theQuarkContent[NumberOfQuarkFlavor]
static constexpr double GeV
Definition: G4SIunits.hh:217
#define G4endl
Definition: G4ios.hh:61
static constexpr double MeV
Definition: G4SIunits.hh:214
double G4double
Definition: G4Types.hh:76
#define ns
Definition: xmlparse.cc:614

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4ParticleDefinition::FillQuarkContents ( )
protected

Definition at line 253 of file G4ParticleDefinition.cc.

258 {
259  G4int flavor;
260  for (flavor= 0; flavor<NumberOfQuarkFlavor; flavor++){
261  theQuarkContent[flavor] = 0;
262  theAntiQuarkContent[flavor] = 0;
263  }
264 
265  G4PDGCodeChecker checker;
266  checker.SetVerboseLevel(verboseLevel);
267 
268  G4int temp = checker.CheckPDGCode(thePDGEncoding, theParticleType);
269 
270  if ( temp != 0) {
271  for (flavor= 0; flavor<NumberOfQuarkFlavor; flavor++){
272  theQuarkContent[flavor] = checker.GetQuarkContent(flavor);
273  theAntiQuarkContent[flavor] = checker.GetAntiQuarkContent(flavor);
274  }
275  if ((theParticleType == "meson")||(theParticleType == "baryon")) {
276  // check charge
277  if (!checker.CheckCharge(thePDGCharge) ){
278  temp = 0;
279  G4Exception( "G4ParticleDefintion::G4ParticleDefintion",
280  "PART103", JustWarning,
281  "Inconsistent charge against PDG code ");
282 #ifdef G4VERBOSE
283  if (verboseLevel>0) {
284  G4cout << "G4ParticleDefinition::FillQuarkContents : "
285  << " illegal charge (" << thePDGCharge/eplus
286  << " PDG code=" << thePDGEncoding <<G4endl;
287  }
288 #endif
289  }
290  // check spin
291  if (checker.GetSpin() != thePDGiSpin) {
292  temp=0;
293  G4Exception( "G4ParticleDefintion::G4ParticleDefintion",
294  "PART104", JustWarning,
295  "Inconsistent spin against PDG code ");
296 #ifdef G4VERBOSE
297  if (verboseLevel>0) {
298  G4cout << "G4ParticleDefinition::FillQuarkContents : "
299  << " illegal SPIN (" << thePDGiSpin << "/2"
300  << " PDG code=" << thePDGEncoding <<G4endl;
301  }
302 #endif
303  }
304  }
305  }
306  return temp;
307 }
G4bool CheckCharge(G4double charge) const
G4int GetQuarkContent(G4int flavor) const
G4int GetSpin() const
int G4int
Definition: G4Types.hh:78
G4int CheckPDGCode(G4int code, G4String type)
G4GLOB_DLL std::ostream G4cout
static constexpr double eplus
Definition: G4SIunits.hh:199
G4int GetAntiQuarkContent(G4int flavor) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int theAntiQuarkContent[NumberOfQuarkFlavor]
void SetVerboseLevel(G4int verbose)
G4int theQuarkContent[NumberOfQuarkFlavor]
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetAntiPDGEncoding ( ) const
inline

Definition at line 147 of file G4ParticleDefinition.hh.

147 { return theAntiPDGEncoding; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetAntiQuarkContent ( G4int  flavor) const

Here is the caller graph for this function:

G4bool G4ParticleDefinition::GetApplyCutsFlag ( ) const

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetAtomicMass ( ) const

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetAtomicNumber ( ) const

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetBaryonNumber ( ) const
inline

Definition at line 144 of file G4ParticleDefinition.hh.

144 { return theBaryonNumber; }
G4DecayTable* G4ParticleDefinition::GetDecayTable ( ) const

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetInstanceID ( ) const
inline

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetIonLifeTime ( ) const

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetLeptonNumber ( ) const
inline

Definition at line 143 of file G4ParticleDefinition.hh.

143 { return theLeptonNumber; }

Here is the caller graph for this function:

G4ProcessManager* G4ParticleDefinition::GetMasterProcessManager ( ) const
inline

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetParticleDefinitionID ( ) const

Here is the caller graph for this function:

const G4String& G4ParticleDefinition::GetParticleName ( ) const
inline

Definition at line 120 of file G4ParticleDefinition.hh.

120 { return theParticleName; }
const G4String& G4ParticleDefinition::GetParticleSubType ( ) const
inline

Definition at line 142 of file G4ParticleDefinition.hh.

142 { return theParticleSubType; }

Here is the caller graph for this function:

G4ParticleTable* G4ParticleDefinition::GetParticleTable ( ) const

Here is the caller graph for this function:

const G4String& G4ParticleDefinition::GetParticleType ( ) const
inline

Definition at line 141 of file G4ParticleDefinition.hh.

141 { return theParticleType; }

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGCharge ( ) const
inline

Definition at line 124 of file G4ParticleDefinition.hh.

124 { return thePDGCharge; }
G4int G4ParticleDefinition::GetPDGEncoding ( ) const
inline

Definition at line 146 of file G4ParticleDefinition.hh.

146 { return thePDGEncoding; }
G4int G4ParticleDefinition::GetPDGiConjugation ( ) const
inline

Definition at line 129 of file G4ParticleDefinition.hh.

129 { return thePDGiConjugation; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetPDGiGParity ( ) const
inline

Definition at line 134 of file G4ParticleDefinition.hh.

134 { return thePDGiGParity; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetPDGiIsospin ( ) const
inline

Definition at line 132 of file G4ParticleDefinition.hh.

132 { return thePDGiIsospin; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetPDGiIsospin3 ( ) const
inline

Definition at line 133 of file G4ParticleDefinition.hh.

133 { return thePDGiIsospin3; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetPDGiParity ( ) const
inline

Definition at line 128 of file G4ParticleDefinition.hh.

128 { return thePDGiParity; }

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGIsospin ( ) const
inline

Definition at line 130 of file G4ParticleDefinition.hh.

130 { return thePDGIsospin; }

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGIsospin3 ( ) const
inline

Definition at line 131 of file G4ParticleDefinition.hh.

131 { return thePDGIsospin3; }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetPDGiSpin ( ) const
inline

Definition at line 127 of file G4ParticleDefinition.hh.

127 { return thePDGiSpin; }

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGLifeTime ( ) const

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGMagneticMoment ( ) const
inline

Definition at line 136 of file G4ParticleDefinition.hh.

136 { return thePDGMagneticMoment; }

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGMass ( ) const
inline

Definition at line 122 of file G4ParticleDefinition.hh.

122 { return thePDGMass; }
G4double G4ParticleDefinition::GetPDGSpin ( ) const
inline

Definition at line 126 of file G4ParticleDefinition.hh.

126 { return thePDGSpin; }

Here is the caller graph for this function:

G4bool G4ParticleDefinition::GetPDGStable ( ) const

Here is the caller graph for this function:

G4double G4ParticleDefinition::GetPDGWidth ( ) const
inline

Definition at line 123 of file G4ParticleDefinition.hh.

123 { return thePDGWidth; }

Here is the caller graph for this function:

G4ProcessManager * G4ParticleDefinition::GetProcessManager ( ) const

Definition at line 247 of file G4ParticleDefinition.cc.

248 {
249  if(g4particleDefinitionInstanceID<0) return 0;
250  return G4MT_pmanager;
251 }
#define G4MT_pmanager
G4int G4ParticleDefinition::GetQuarkContent ( G4int  flavor) const

Here is the caller graph for this function:

const G4PDefManager & G4ParticleDefinition::GetSubInstanceManager ( )
static

Definition at line 75 of file G4ParticleDefinition.cc.

76 {
77  return subInstanceManager;
78 }

Here is the caller graph for this function:

G4int G4ParticleDefinition::GetVerboseLevel ( ) const

Here is the caller graph for this function:

G4bool G4ParticleDefinition::IsGeneralIon ( ) const

Here is the caller graph for this function:

G4bool G4ParticleDefinition::IsShortLived ( ) const
inline

Definition at line 157 of file G4ParticleDefinition.hh.

157 { return fShortLivedFlag; }
G4int G4ParticleDefinition::operator!= ( const G4ParticleDefinition right) const

Definition at line 242 of file G4ParticleDefinition.cc.

243 {
244  return (this->theParticleName != right.theParticleName);
245 }
G4int G4ParticleDefinition::operator== ( const G4ParticleDefinition right) const

Definition at line 237 of file G4ParticleDefinition.cc.

238 {
239  return (this->theParticleName == right.theParticleName);
240 }
void G4ParticleDefinition::SetAntiPDGEncoding ( G4int  aEncoding)

Here is the caller graph for this function:

void G4ParticleDefinition::SetApplyCutsFlag ( G4bool  flg)

Definition at line 393 of file G4ParticleDefinition.cc.

394 {
395  if(theParticleName=="gamma"
396  || theParticleName=="e-"
397  || theParticleName=="e+"
398  || theParticleName=="proton")
399  { fApplyCutsFlag = flg; }
400  else
401  {
402  G4cout
403  << "G4ParticleDefinition::SetApplyCutsFlag() for " << theParticleName
404  << G4endl;
405  G4cout
406  << "becomes obsolete. Production threshold is applied only for "
407  << "gamma, e- ,e+ and proton." << G4endl;
408  }
409 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the caller graph for this function:

void G4ParticleDefinition::SetAtomicMass ( G4int  )
protected

Here is the caller graph for this function:

void G4ParticleDefinition::SetAtomicNumber ( G4int  )
protected

Here is the caller graph for this function:

void G4ParticleDefinition::SetDecayTable ( G4DecayTable aDecayTable)
void G4ParticleDefinition::SetMasterProcessManager ( G4ProcessManager aNewPM)
inline

Here is the caller graph for this function:

void G4ParticleDefinition::SetParticleDefinitionID ( G4int  id = -1)

Definition at line 426 of file G4ParticleDefinition.cc.

427 {
428  if(id<0)
429  {
430  g4particleDefinitionInstanceID = subInstanceManager.CreateSubInstance();
431  G4MT_pmanager = 0;
432  }
433  else
434  {
435  if(isGeneralIon)
436  { g4particleDefinitionInstanceID = id; }
437  else
438  {
440  ed << "ParticleDefinitionID should not be set for the particles <"
441  << theParticleName << ">.";
442  G4Exception( "G4ParticleDefintion::SetParticleDefinitionID","PART10114",
443  FatalException,ed);
444  }
445  }
446 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4int CreateSubInstance()
#define G4MT_pmanager

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ParticleDefinition::SetParticleSubType ( const G4String subtype)
protected

Here is the caller graph for this function:

void G4ParticleDefinition::SetPDGLifeTime ( G4double  aLifeTime)
inline

Definition at line 163 of file G4ParticleDefinition.hh.

163 { thePDGLifeTime=aLifeTime; }

Here is the caller graph for this function:

void G4ParticleDefinition::SetPDGMagneticMoment ( G4double  mageticMoment)

Here is the caller graph for this function:

void G4ParticleDefinition::SetPDGStable ( const G4bool  aFlag)
inline

Definition at line 160 of file G4ParticleDefinition.hh.

160 { thePDGStable=aFlag; }

Here is the caller graph for this function:

void G4ParticleDefinition::SetProcessManager ( G4ProcessManager aProcessManager)

Definition at line 450 of file G4ParticleDefinition.cc.

451 {
452  if(g4particleDefinitionInstanceID<0 && !isGeneralIon)
453  {
454  if(G4Threading::G4GetThreadId() >= 0)
455  {
457  ed << "ProcessManager is being set to " << theParticleName
458  << " without proper initialization of TLS pointer vector.\n"
459  << "This operation is thread-unsafe.";
460  G4Exception( "G4ParticleDefintion::SetProcessManager","PART10116",
461  JustWarning,ed);
462  }
464  }
465  G4MT_pmanager = aProcessManager;
466 }
void SetParticleDefinitionID(G4int id=-1)
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4MT_pmanager
G4int G4GetThreadId()
Definition: G4Threading.cc:144

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ParticleDefinition::SetVerboseLevel ( G4int  value)

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class G4ParticlePropertyTable
friend

Definition at line 80 of file G4ParticleDefinition.hh.

Member Data Documentation

G4bool G4ParticleDefinition::isGeneralIon
protected

Definition at line 364 of file G4ParticleDefinition.hh.

G4int G4ParticleDefinition::theAntiQuarkContent[NumberOfQuarkFlavor]
protected

Definition at line 259 of file G4ParticleDefinition.hh.

G4int G4ParticleDefinition::theQuarkContent[NumberOfQuarkFlavor]
protected

Definition at line 258 of file G4ParticleDefinition.hh.


The documentation for this class was generated from the following files: