Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4Ions Class Reference

#include <G4Ions.hh>

Inheritance diagram for G4Ions:
Collaboration diagram for G4Ions:

Public Types

enum  G4FloatLevelBase {
  G4FloatLevelBase::no_Float =0, G4FloatLevelBase::plus_X, G4FloatLevelBase::plus_Y, G4FloatLevelBase::plus_Z,
  G4FloatLevelBase::plus_U, G4FloatLevelBase::plus_V, G4FloatLevelBase::plus_W, G4FloatLevelBase::plus_R,
  G4FloatLevelBase::plus_S, G4FloatLevelBase::plus_T, G4FloatLevelBase::plus_A, G4FloatLevelBase::plus_B,
  G4FloatLevelBase::plus_C, G4FloatLevelBase::plus_D, G4FloatLevelBase::plus_E
}
 

Public Member Functions

 G4Ions (const G4String &aName, G4double mass, G4double width, G4double charge, G4int iSpin, G4int iParity, G4int iConjugation, G4int iIsospin, G4int iIsospin3, G4int gParity, const G4String &pType, G4int lepton, G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable, G4bool shortlived, const G4String &subType="", G4int anti_encoding=0, G4double excitation=0.0, G4int isomer=0)
 
virtual ~G4Ions ()
 
G4IonsIonsDefinition ()
 
G4IonsIons ()
 
G4double GetExcitationEnergy () const
 
G4int GetIsomerLevel () const
 
G4Ions::G4FloatLevelBase GetFloatLevelBase () const
 
G4int GetFloatLevelBaseIndex () const
 
void SetFloatLevelBase (G4Ions::G4FloatLevelBase flb)
 
void SetFloatLevelBase (char flbChar)
 
void SetFloatLevelBase (G4int flbIdx)
 
- Public Member Functions inherited from 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)
 
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 G4Ions::G4FloatLevelBase FloatLevelBase (char flbChar)
 
static G4Ions::G4FloatLevelBase FloatLevelBase (G4int flbIdx)
 
static char FloatLevelBaseChar (G4Ions::G4FloatLevelBase flb)
 
- Static Public Member Functions inherited from G4ParticleDefinition
static const G4PDefManagerGetSubInstanceManager ()
 

Protected Member Functions

 G4Ions ()
 
- Protected Member Functions inherited from G4ParticleDefinition
G4int FillQuarkContents ()
 
void SetParticleSubType (const G4String &subtype)
 
void SetAtomicNumber (G4int)
 
void SetAtomicMass (G4int)
 
 G4ParticleDefinition (const G4ParticleDefinition &right)
 
 G4ParticleDefinition ()
 

Additional Inherited Members

- Protected Types inherited from G4ParticleDefinition
enum  { NumberOfQuarkFlavor = 6 }
 
- Protected Attributes inherited from G4ParticleDefinition
G4int theQuarkContent [NumberOfQuarkFlavor]
 
G4int theAntiQuarkContent [NumberOfQuarkFlavor]
 
G4bool isGeneralIon
 

Detailed Description

Definition at line 51 of file G4Ions.hh.

Member Enumeration Documentation

Enumerator
no_Float 
plus_X 
plus_Y 
plus_Z 
plus_U 
plus_V 
plus_W 
plus_R 
plus_S 
plus_T 
plus_A 
plus_B 
plus_C 
plus_D 
plus_E 

Definition at line 95 of file G4Ions.hh.

96  { no_Float=0,
97  plus_X, plus_Y, plus_Z, plus_U, plus_V, plus_W,
98  plus_R, plus_S, plus_T, plus_A, plus_B, plus_C, plus_D, plus_E
99  };

Constructor & Destructor Documentation

G4Ions::G4Ions ( )
inlineprotected

Definition at line 62 of file G4Ions.hh.

62 {};

Here is the caller graph for this function:

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

Definition at line 48 of file G4Ions.cc.

63  : G4ParticleDefinition( aName,mass,width,charge,iSpin,iParity,
64  iConjugation,iIsospin,iIsospin3,gParity,pType,
65  lepton,baryon,encoding,stable,lifetime,decaytable,
66  shortlived, subType, anti_encoding),
67  theExcitationEnergy(excitation),
68  theIsomerLevel(isomer),
69  floatLevelBase(G4FloatLevelBase::no_Float)
70 {
71  if ((aName == "proton") || (aName == "neutron")) {
72  isGeneralIon = false ;
73  } else if ( (aName == "GenericIon") || (aName == "alpha")
74  || (aName == "He3") || (aName == "deuteron")|| (aName == "triton")) {
75  isGeneralIon = false ;
76  } else if ( (aName == "anti_He3") || (aName == "anti_deuteron")
77  || (aName == "anti_triton") || (aName == "anti_alpha") ) {
78  isGeneralIon = false ;
79  } else if ( (aName == "iron") || (aName == "oxygen") || (aName == "nitrogen")
80  || (aName == "carbon") || (aName == "helium") || (aName == "alpha+")
81  || (aName == "hydrogen") || (aName == "Ps-1s") || (aName == "Ps-2s")) {
82  isGeneralIon = false ;
83  } else {
84  isGeneralIon = true;
85  }
86 
87  // isomer level isset to 9
88  // if isomer level is set to 0 for excited state
89  if ((theExcitationEnergy > 0.0) && (isomer==0)) isomer =9;
90 
91  if (GetAtomicNumber() == 0 ) {
92  // AtomicNumber/Mass is positve even for anti_nulceus
93  SetAtomicNumber( std::abs(G4int(GetPDGCharge()/eplus)) );
94  SetAtomicMass( std::abs(GetBaryonNumber()) );
95  }
96 }
void SetAtomicNumber(G4int)
int G4int
Definition: G4Types.hh:78
G4int GetAtomicNumber() const
static constexpr double eplus
Definition: G4SIunits.hh:199
G4double GetPDGCharge() const
void SetAtomicMass(G4int)

Here is the call graph for this function:

G4Ions::~G4Ions ( )
virtual

Definition at line 99 of file G4Ions.cc.

100 {
101 }

Member Function Documentation

G4Ions::G4FloatLevelBase G4Ions::FloatLevelBase ( char  flbChar)
inlinestatic

Definition at line 189 of file G4Ions.hh.

190 {
192  switch(flbChar)
193  {
194  case 'x': case 'X':
195  flb = plusX;
196  break;
197  case 'y': case 'Y':
198  flb = plusY;
199  break;
200  case 'z': case 'Z':
201  flb = plusZ;
202  break;
203  case 'u': case 'U':
204  flb = plusU;
205  break;
206  case 'v': case 'V':
207  flb = plusV;
208  break;
209  case 'w': case 'W':
210  flb = plusW;
211  break;
212  case 'r': case 'R':
213  flb = plusR;
214  break;
215  case 's': case 'S':
216  flb = plusS;
217  break;
218  case 't': case 'T':
219  flb = plusT;
220  break;
221  case 'a': case 'A':
222  flb = plusA;
223  break;
224  case 'b': case 'B':
225  flb = plusB;
226  break;
227  case 'c': case 'C':
228  flb = plusC;
229  break;
230  case 'd': case 'D':
231  flb = plusD;
232  break;
233  case 'e': case 'E':
234  flb = plusE;
235  break;
236  case '\0': default:
237  break;
238  }
239  return flb;
240 }
#define plusU
Definition: G4Ions.hh:119
#define plusT
Definition: G4Ions.hh:127
#define plusW
Definition: G4Ions.hh:121
#define plusY
Definition: G4Ions.hh:123
#define plusV
Definition: G4Ions.hh:120
#define plusB
Definition: G4Ions.hh:129
#define plusS
Definition: G4Ions.hh:126
#define plusZ
Definition: G4Ions.hh:124
#define plusC
Definition: G4Ions.hh:130
#define plusD
Definition: G4Ions.hh:131
#define plusX
Definition: G4Ions.hh:122
#define plusE
Definition: G4Ions.hh:132
#define plusA
Definition: G4Ions.hh:128
#define noFloat
Definition: G4Ions.hh:118
G4FloatLevelBase
Definition: G4Ions.hh:95
#define plusR
Definition: G4Ions.hh:125

Here is the caller graph for this function:

G4Ions::G4FloatLevelBase G4Ions::FloatLevelBase ( G4int  flbIdx)
inlinestatic

Definition at line 243 of file G4Ions.hh.

244 {
245  static G4Ions::G4FloatLevelBase flb[] =
246  { noFloat,
249  return flb[flbIdx];
250 }
#define plusU
Definition: G4Ions.hh:119
#define plusT
Definition: G4Ions.hh:127
#define plusW
Definition: G4Ions.hh:121
#define plusY
Definition: G4Ions.hh:123
#define plusV
Definition: G4Ions.hh:120
#define plusB
Definition: G4Ions.hh:129
#define plusS
Definition: G4Ions.hh:126
#define plusZ
Definition: G4Ions.hh:124
#define plusC
Definition: G4Ions.hh:130
#define plusD
Definition: G4Ions.hh:131
#define plusX
Definition: G4Ions.hh:122
#define plusE
Definition: G4Ions.hh:132
#define plusA
Definition: G4Ions.hh:128
#define noFloat
Definition: G4Ions.hh:118
G4FloatLevelBase
Definition: G4Ions.hh:95
#define plusR
Definition: G4Ions.hh:125
char G4Ions::FloatLevelBaseChar ( G4Ions::G4FloatLevelBase  flb)
inlinestatic

Definition at line 253 of file G4Ions.hh.

254 {
255  static char flbChar[] = {'\0','X','Y','Z','U','V','W',
256  'R','S','T','A','B','C','D','E'};
257  return flbChar[static_cast<G4int>(flb)];
258 }
int G4int
Definition: G4Types.hh:78

Here is the caller graph for this function:

G4double G4Ions::GetExcitationEnergy ( ) const
inline

Definition at line 147 of file G4Ions.hh.

148 {
149  return theExcitationEnergy;
150 }
G4Ions::G4FloatLevelBase G4Ions::GetFloatLevelBase ( ) const
inline

Definition at line 159 of file G4Ions.hh.

160 {
161  return floatLevelBase;
162 }
G4int G4Ions::GetFloatLevelBaseIndex ( ) const
inline

Definition at line 165 of file G4Ions.hh.

166 {
167  return static_cast<G4int>(floatLevelBase);
168 }
int G4int
Definition: G4Types.hh:78
G4int G4Ions::GetIsomerLevel ( ) const
inline

Definition at line 153 of file G4Ions.hh.

154 {
155  return theIsomerLevel;
156 }
G4Ions * G4Ions::Ions ( )
inline

Definition at line 141 of file G4Ions.hh.

142 {
143  return this;
144 }
G4Ions * G4Ions::IonsDefinition ( )
inline

Definition at line 135 of file G4Ions.hh.

136 {
137  return this;
138 }
void G4Ions::SetFloatLevelBase ( G4Ions::G4FloatLevelBase  flb)
inline

Definition at line 171 of file G4Ions.hh.

172 {
173  floatLevelBase = flb;
174 }

Here is the caller graph for this function:

void G4Ions::SetFloatLevelBase ( char  flbChar)
inline

Definition at line 177 of file G4Ions.hh.

178 {
179  floatLevelBase = FloatLevelBase(flbChar);
180 }
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition: G4Ions.hh:189

Here is the call graph for this function:

void G4Ions::SetFloatLevelBase ( G4int  flbIdx)
inline

Definition at line 183 of file G4Ions.hh.

184 {
185  floatLevelBase = FloatLevelBase(flbIdx);
186 }
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
Definition: G4Ions.hh:189

Here is the call graph for this function:


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