72 #define G4MT_pmanager ((subInstanceManager.offset()[g4particleDefinitionInstanceID]).theProcessManager)
97 : theParticleName(aName),
100 thePDGCharge(charge),
102 thePDGSpin(iSpin*0.5),
103 thePDGiParity(iParity),
104 thePDGiConjugation(iConjugation),
105 thePDGiGParity(gParity),
106 thePDGiIsospin(iIsospin),
107 thePDGiIsospin3(iIsospin3),
108 thePDGIsospin(iIsospin*0.5),
109 thePDGIsospin3(iIsospin3*0.5),
110 thePDGMagneticMoment(magneticMoment),
111 theLeptonNumber(lepton),
112 theBaryonNumber(baryon),
113 theParticleType(pType),
114 theParticleSubType(subType),
115 thePDGEncoding(encoding),
116 theAntiPDGEncoding(-1*encoding),
117 fShortLivedFlag(shortlived),
118 thePDGStable(stable),
119 thePDGLifeTime(lifetime),
120 theDecayTable(decaytable),
124 fApplyCutsFlag(false),
128 static const G4String nucleus(
"nucleus");
129 static const G4String muAtom(
"MuonicAtom");
146 G4cout <<
"Particle " << aName <<
" has a strange PDGEncoding " <<
G4endl;
149 G4Exception(
"G4ParticleDefintion::G4ParticleDefintion",
151 "Strange PDGEncoding ");
160 G4cout <<
"G4ParticleDefintion (other than ions and shortlived) should be created in Pre_Init state "
164 G4Exception(
"G4ParticleDefintion::G4ParticleDefintion",
166 "G4ParticleDefinition should be created in PreInit state");
187 G4Exception(
"G4ParticleDefinition::G4ParticleDefinition()",
189 "Illegal call of copy Constructor for G4ParticleDefinition ");
194 G4Exception(
"G4ParticleDefinition::G4ParticleDefinition()",
196 "Illegal call of default Constructor for G4ParticleDefinition ");
206 G4String msg =
"Request of deletion for ";
208 msg +=
" has No effects because readyToUse is true.";
209 G4Exception(
"G4ParticleDefinition::~G4ParticleDefinition()",
216 <<
" will be deleted " <<
G4endl;
228 if (
this != &right) {
290 G4Exception(
"G4ParticleDefintion::G4ParticleDefintion",
292 "Inconsistent charge against PDG code ");
295 G4cout <<
"G4ParticleDefinition::FillQuarkContents : "
304 G4Exception(
"G4ParticleDefintion::G4ParticleDefintion",
306 "Inconsistent spin against PDG code ");
309 G4cout <<
"G4ParticleDefinition::FillQuarkContents : "
352 G4cout <<
", " << theQuarkContent[1];
353 G4cout <<
", " << theQuarkContent[2];
354 G4cout <<
", " << theQuarkContent[3];
355 G4cout <<
", " << theQuarkContent[4];
358 G4cout <<
", " << theAntiQuarkContent[1];
359 G4cout <<
", " << theAntiQuarkContent[2];
360 G4cout <<
", " << theAntiQuarkContent[3];
361 G4cout <<
", " << theAntiQuarkContent[4];
380 {
G4cout <<
" Stable : No data found -- unknown" <<
G4endl; }
386 <<
"\n Decay table should be consulted to G4RadioactiveDecayProcess."
417 <<
"becomes obsolete. Production threshold is applied only for "
418 <<
"gamma, e- ,e+ and proton." <<
G4endl;
424 G4Exception(
"G4ParticleDefintion::G4ParticleDefintion",
426 "CalculateAnomaly() method will be removed in next release");
451 ed <<
"ParticleDefinitionID should not be set for the particles <"
453 G4Exception(
"G4ParticleDefintion::SetParticleDefinitionID",
"PART10114",
469 <<
" without proper initialization of TLS pointer vector.\n"
470 <<
"This operation is thread-unsafe.";
471 G4Exception(
"G4ParticleDefintion::SetProcessManager",
"PART10116",
static G4bool IsIon(const G4ParticleDefinition *)
G4int GetAtomicNumber() const
void SetVerboseLevel(G4int verbose)
std::ostringstream G4ExceptionDescription
G4double CalculateAnomaly() const
static constexpr double hbar_Planck
G4bool IsGeneralIon() const
static G4ParticleTable * GetParticleTable()
static constexpr double MeV
virtual ~G4ParticleDefinition()
void SetParticleDefinitionID(G4int id=-1)
const G4String & GetParticleName() const
G4int CheckPDGCode(G4int code, G4String type)
G4IonTable * GetIonTable() const
G4double GetPDGCharge() const
void SetAtomicMass(G4int)
G4int operator!=(const G4ParticleDefinition &right) const
G4int GetAntiQuarkContent(G4int flavor) const
static constexpr double c_squared
G4bool CheckCharge(G4double charge) const
void SetAtomicNumber(G4int)
const G4ParticleDefinition & operator=(const G4ParticleDefinition &r)
void SetProcessManager(G4ProcessManager *aProcessManager)
static G4PART_DLL G4PDefManager subInstanceManager
G4double thePDGMagneticMoment
G4int GetBaryonNumber() const
G4int theAntiQuarkContent[NumberOfQuarkFlavor]
static G4bool IsAntiIon(const G4ParticleDefinition *)
G4int GetVerboseLevel() const
G4int GetAntiPDGEncoding() const
G4ProcessManager * theProcessManagerShadow
G4String theParticleSubType
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4double GetIonLifeTime() const
static constexpr double eplus
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4int theQuarkContent[NumberOfQuarkFlavor]
G4ApplicationState GetCurrentState() const
G4int g4particleDefinitionInstanceID
G4ProcessManager * GetProcessManager() const
G4ParticleDefinition * Insert(G4ParticleDefinition *particle)
G4int GetAtomicMass() const
void SetApplyCutsFlag(G4bool)
G4GLOB_DLL std::ostream G4cout
G4int operator==(const G4ParticleDefinition &right) const
static const G4PDefManager & GetSubInstanceManager()
G4DecayTable * theDecayTable
G4int GetQuarkContent(G4int flavor) const
G4ParticleTable * theParticleTable
G4int CreateSubInstance()
static constexpr double GeV
G4int FillQuarkContents()
static constexpr double eplus
G4int GetVerboseLevel() const
static constexpr double tesla
static G4StateManager * GetStateManager()