Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
G4MoleculeDefinition Class Reference

#include <G4MoleculeDefinition.hh>

Inheritance diagram for G4MoleculeDefinition:
G4ParticleDefinition G4Electron_aq G4H2 G4H2O G4H2O2 G4H3O G4Hydrogen G4OH

Public Member Functions

 G4MoleculeDefinition (const G4String &name, G4double mass, G4int electronsNumber, G4int electronicLevels, G4double diffCoeff, G4int atomsNumber=-1, G4double radius=-1, G4double lifetime=-1, G4String aType="", G4MoleculeID ID=G4MoleculeID::Create())
 
virtual ~G4MoleculeDefinition ()
 
void SetLevelOccupation (G4int, G4int eNb=2)
 
void SetDiffusionCoefficient (G4double)
 
G4double GetDiffusionCoefficient () const
 
void SetAtomsNumber (G4int)
 
G4int GetAtomsNumber () const
 
void SetVanDerVaalsRadius (G4double)
 
G4double GetVanDerVaalsRadius () const
 
void AddExcitedState (const G4String &)
 
const G4StringGetExcitedState (const G4ElectronOccupancy *) const
 
void AddDecayChannel (const G4String &, const G4MolecularDecayChannel *)
 
void AddeConfToExcitedState (const G4String &, const G4ElectronOccupancy &, double decayTime=0.)
 
const std::vector< const
G4MolecularDecayChannel * > * 
GetDecayChannels (const G4ElectronOccupancy *) const
 
const std::vector< const
G4MolecularDecayChannel * > * 
GetDecayChannels (const G4String &) const
 
const G4ElectronOccupancyGetGroundStateElectronOccupancy () const
 
const G4StringGetName () const
 
G4double GetMass () const
 
const G4StringGetType () const
 
G4int GetNbElectrons () const
 
G4int GetNbMolecularShells () const
 
const G4MolecularDecayTableGetDecayTable () const
 
G4MolecularDecayTableGetDecayTable ()
 
G4double GetDecayTime () const
 
- 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
 

Protected Member Functions

 G4MoleculeDefinition ()
 
 G4MoleculeDefinition (const G4MoleculeDefinition &)
 
- 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

- Static Public Member Functions inherited from G4ParticleDefinition
static const G4PDefManagerGetSubInstanceManager ()
 
- 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 59 of file G4MoleculeDefinition.hh.

Constructor & Destructor Documentation

G4MoleculeDefinition::G4MoleculeDefinition ( const G4String name,
G4double  mass,
G4int  electronsNumber,
G4int  electronicLevels,
G4double  diffCoeff,
G4int  atomsNumber = -1,
G4double  radius = -1,
G4double  lifetime = -1,
G4String  aType = "",
G4MoleculeID  ID = G4MoleculeID::Create() 
)

Definition at line 45 of file G4MoleculeDefinition.cc.

55  :
56  G4ParticleDefinition(name, mass, 0., 0., 0, 0, 0, 0, 0, 0, "Molecule",
57  0, 0, ID, false, lifetime, NULL, false, aType, 0, 0.0),
58  fMass(mass),
59  fNbOfElectrons(electronsNumber), fNbOfMolecularShells(electronicLevels), fDiffusionCoefficient(diffCoeff),
60  fAtomsNb(atomsNumber), fVanDerVaalsRadius(radius)
61 
62 {
63  fElectronOccupancy = new G4ElectronOccupancy(fNbOfMolecularShells);
64  fDecayTable = NULL;
65 }
G4MoleculeDefinition::~G4MoleculeDefinition ( )
virtual

Definition at line 67 of file G4MoleculeDefinition.cc.

68 {
69  if (fElectronOccupancy)
70  {
71  delete fElectronOccupancy;
72  fElectronOccupancy = 0;
73  }
74  if (fDecayTable)
75  {
76  delete fDecayTable;
77  fDecayTable = 0;
78  }
79  // fMolecularConfiguration = 0;
80 }
G4MoleculeDefinition::G4MoleculeDefinition ( )
protected
G4MoleculeDefinition::G4MoleculeDefinition ( const G4MoleculeDefinition right)
protected

Definition at line 176 of file G4MoleculeDefinition.cc.

176  :
178  fMass(right.fMass),
179  fNbOfElectrons (right.fNbOfElectrons),
180  fNbOfMolecularShells(right.fNbOfMolecularShells),
181  fDiffusionCoefficient( right.fDiffusionCoefficient),
182  fAtomsNb( right.fAtomsNb),
183  fVanDerVaalsRadius (right.fVanDerVaalsRadius)
184 {
185  if(right.fElectronOccupancy!=0)
186  {
187  fElectronOccupancy= new G4ElectronOccupancy(*(right.fElectronOccupancy));
188  }
189  else fElectronOccupancy = 0;
190 
191  if(right.fDecayTable!=0)
192  {
193  fDecayTable = new G4MolecularDecayTable(*(right.fDecayTable));
194  }
195  else fDecayTable = 0;
196 }

Member Function Documentation

void G4MoleculeDefinition::AddDecayChannel ( const G4String chanId,
const G4MolecularDecayChannel chan 
)

Definition at line 132 of file G4MoleculeDefinition.cc.

References G4MolecularDecayTable::AddDecayChannel().

134 {
135  if (!fDecayTable)
136  {
137  fDecayTable = new G4MolecularDecayTable();
138  }
139  fDecayTable->AddDecayChannel(chanId, chan);
140 }
void AddDecayChannel(const G4String &, const G4MolecularDecayChannel *)
void G4MoleculeDefinition::AddeConfToExcitedState ( const G4String exStId,
const G4ElectronOccupancy conf,
double  decayTime = 0. 
)

Definition at line 82 of file G4MoleculeDefinition.cc.

References G4MolecularDecayTable::AddeConfToExcitedState(), G4MolecularConfiguration::GetMolecularConfiguration(), and G4MolecularConfiguration::SetDecayTime().

85 {
86  if (!fDecayTable)
87  {
88  fDecayTable = new G4MolecularDecayTable();
89  }
90  fDecayTable->AddeConfToExcitedState(exStId, conf);
92 }
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &electronOccupancy)
void AddeConfToExcitedState(const G4String &, const G4ElectronOccupancy &)
void G4MoleculeDefinition::AddExcitedState ( const G4String val)

Definition at line 108 of file G4MoleculeDefinition.cc.

References G4MolecularDecayTable::AddExcitedState().

109 {
110  if (!fDecayTable)
111  {
112  fDecayTable = new G4MolecularDecayTable();
113  }
114 
115  fDecayTable->AddExcitedState(val);
116 }
void AddExcitedState(const G4String &)
G4int G4MoleculeDefinition::GetAtomsNumber ( ) const
inline

Definition at line 167 of file G4MoleculeDefinition.hh.

168 {
169  return fAtomsNb;
170 }
const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4ElectronOccupancy occ) const

Definition at line 157 of file G4MoleculeDefinition.cc.

References FatalErrorInArgument, G4Exception(), G4MolecularDecayTable::GetDecayChannels(), and GetName().

158 {
159  if (fDecayTable)
160  {
161  const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(occ);
162  return output;
163  }
164  else
165  {
166  G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
167  G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
168  }
169  return 0;
170 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
const G4String & GetName() const
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannels(const G4ElectronOccupancy *) const
const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4String ExState) const

Definition at line 142 of file G4MoleculeDefinition.cc.

References FatalErrorInArgument, G4Exception(), G4MolecularDecayTable::GetDecayChannels(), and GetName().

143 {
144  if (fDecayTable)
145  {
146  const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(ExState);
147  return output;
148  }
149  else
150  {
151  G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
152  G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
153  }
154  return 0;
155 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
const G4String & GetName() const
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannels(const G4ElectronOccupancy *) const
const G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable ( ) const
inline

Definition at line 216 of file G4MoleculeDefinition.hh.

217 {
218  return fDecayTable;
219 }
G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable ( )
inline

Definition at line 221 of file G4MoleculeDefinition.hh.

222 {
223  return fDecayTable;
224 }
G4double G4MoleculeDefinition::GetDecayTime ( ) const
inline

Definition at line 157 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetPDGLifeTime().

158 {
159  return GetPDGLifeTime();
160 }
G4double GetPDGLifeTime() const
G4double G4MoleculeDefinition::GetDiffusionCoefficient ( ) const
inline

Definition at line 152 of file G4MoleculeDefinition.hh.

153 {
154  return fDiffusionCoefficient;
155 }
const G4String & G4MoleculeDefinition::GetExcitedState ( const G4ElectronOccupancy occ) const

Definition at line 118 of file G4MoleculeDefinition.cc.

References FatalErrorInArgument, G4Exception(), G4MolecularDecayTable::GetExcitedState(), and GetName().

119 {
120  if (fDecayTable)
121  {
122  return fDecayTable->GetExcitedState(occ);
123  }
124  else
125  {
126  G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
127  G4Exception("G4MoleculeDefinition::GetExcitedState","",FatalErrorInArgument,errMsg);
128  }
129  return *(new G4String(""));
130 }
const G4String & GetExcitedState(const G4ElectronOccupancy *) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
const G4String & GetName() const
const G4ElectronOccupancy * G4MoleculeDefinition::GetGroundStateElectronOccupancy ( ) const
inline

Definition at line 182 of file G4MoleculeDefinition.hh.

Referenced by G4Molecule::G4Molecule(), and G4MolecularConfiguration::GetMolecularConfiguration().

183 {
184  return fElectronOccupancy;
185 }
G4double G4MoleculeDefinition::GetMass ( ) const
inline

Definition at line 193 of file G4MoleculeDefinition.hh.

194 {
195  return fMass;
196 }
const G4String & G4MoleculeDefinition::GetName ( void  ) const
inline

Definition at line 187 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetParticleName().

Referenced by GetDecayChannels(), and GetExcitedState().

188 {
189 
190  return GetParticleName();
191 }
const G4String & GetParticleName() const
G4int G4MoleculeDefinition::GetNbElectrons ( ) const
inline

Definition at line 204 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

205 {
206 
207  return fNbOfElectrons;
208 }
G4int G4MoleculeDefinition::GetNbMolecularShells ( ) const
inline

Definition at line 210 of file G4MoleculeDefinition.hh.

211 {
212 
213  return fNbOfMolecularShells;
214 }
const G4String & G4MoleculeDefinition::GetType ( ) const
inline

Definition at line 198 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetParticleSubType().

199 {
200 
201  return GetParticleSubType();
202 }
const G4String & GetParticleSubType() const
G4double G4MoleculeDefinition::GetVanDerVaalsRadius ( ) const
inline

Definition at line 177 of file G4MoleculeDefinition.hh.

178 {
179  return fVanDerVaalsRadius;
180 }
void G4MoleculeDefinition::SetAtomsNumber ( G4int  val)
inline

Definition at line 162 of file G4MoleculeDefinition.hh.

163 {
164  fAtomsNb = val;
165 }
void G4MoleculeDefinition::SetDiffusionCoefficient ( G4double  value)
inline

Definition at line 147 of file G4MoleculeDefinition.hh.

148 {
149  fDiffusionCoefficient = value;
150 }
const XML_Char int const XML_Char * value
void G4MoleculeDefinition::SetLevelOccupation ( G4int  shell,
G4int  eNb = 2 
)

Definition at line 94 of file G4MoleculeDefinition.cc.

References G4ElectronOccupancy::AddElectron(), G4ElectronOccupancy::GetOccupancy(), and G4ElectronOccupancy::RemoveElectron().

Referenced by G4Electron_aq::Definition(), G4Hydrogen::Definition(), and G4H2::Definition().

95 {
96  G4int levelOccupancy = fElectronOccupancy->GetOccupancy(shell);
97 
98  if (levelOccupancy)
99  {
100 
101  fElectronOccupancy->RemoveElectron(shell, levelOccupancy);
102  }
103 
104  fElectronOccupancy->AddElectron(shell,eNb);
105 
106 }
int G4int
Definition: G4Types.hh:78
G4int GetOccupancy(G4int orbit) const
G4int AddElectron(G4int orbit, G4int number=1)
G4int RemoveElectron(G4int orbit, G4int number=1)
void G4MoleculeDefinition::SetVanDerVaalsRadius ( G4double  val)
inline

Definition at line 172 of file G4MoleculeDefinition.hh.

173 {
174  fVanDerVaalsRadius = val;
175 }

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