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

#include <G4MoleculeDefinition.hh>

Inheritance diagram for G4MoleculeDefinition:
Collaboration diagram for G4MoleculeDefinition:

Public Member Functions

 G4MoleculeDefinition (const G4String &name, G4double mass, G4double diffCoeff, G4int charge=0, G4int electronicLevels=0, G4double radius=-1, G4int atomsNumber=-1, G4double lifetime=-1, G4String aType="", G4FakeParticleID ID=G4FakeParticleID::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
 
G4MolecularConfigurationNewConfiguration (const G4String &excitedStateLabel)
 
G4MolecularConfigurationNewConfigurationWithElectronOccupancy (const G4String &excitedStateLabel, const G4ElectronOccupancy &, double decayTime=0.)
 
G4MolecularConfigurationGetConfigurationWithLabel (const G4String &molecularConfLabel)
 
void AddDecayChannel (const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
 
void AddDecayChannel (const G4String &molecularConfLabel, const G4MolecularDissociationChannel *channel)
 
const std::vector< const
G4MolecularDissociationChannel * > * 
GetDecayChannels (const G4MolecularConfiguration *) const
 
const std::vector< const
G4MolecularDissociationChannel * > * 
GetDecayChannels (const G4String &) const
 
const
G4MolecularDissociationTable
GetDecayTable () const
 
G4MolecularDissociationTableGetDecayTable ()
 
G4double GetDecayTime () const
 
const G4ElectronOccupancyGetGroundStateElectronOccupancy () const
 
G4int GetCharge () const
 
const G4StringGetName () const
 
G4double GetMass () const
 
const G4StringGetType () const
 
G4int GetNbElectrons () const
 
G4int GetNbMolecularShells () const
 
const G4StringGetFormatedName () const
 
void SetFormatedName (const G4String &name)
 
void Finalize ()
 
void Serialize (std::ostream &)
 
- 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 G4MoleculeDefinitionLoad (std::istream &)
 
- Static Public Member Functions inherited from G4ParticleDefinition
static const G4PDefManagerGetSubInstanceManager ()
 

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

- 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 76 of file G4MoleculeDefinition.hh.

Constructor & Destructor Documentation

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

Definition at line 46 of file G4MoleculeDefinition.cc.

55  :
56  G4ParticleDefinition(name, mass, 0., charge, 0, 0, 0, 0, 0, 0, "Molecule",
57  0, 0, ID, false, lifetime, NULL, false, aType, 0, 0.0),
58  fDiffusionCoefficient(diffCoeff),
59  fAtomsNb(atomsNumber),
60  fVanDerVaalsRadius(radius)
61 
62 {
63  fCharge = charge;
64  if(electronicLevels)
65  {
66  fElectronOccupancy = new G4ElectronOccupancy(electronicLevels);
67  }
68  else
69  {
70  fElectronOccupancy = 0;
71  }
72  fDecayTable = NULL;
74 }
void Insert(G4MoleculeDefinition *)
static G4MoleculeTable * Instance()

Here is the call graph for this function:

G4MoleculeDefinition::~G4MoleculeDefinition ( )
virtual

Definition at line 131 of file G4MoleculeDefinition.cc.

132 {
133  if (fElectronOccupancy)
134  {
135  delete fElectronOccupancy;
136  fElectronOccupancy = 0;
137  }
138  if (fDecayTable)
139  {
140  delete fDecayTable;
141  fDecayTable = 0;
142  }
143 }
G4MoleculeDefinition::G4MoleculeDefinition ( )
protected

Here is the caller graph for this function:

G4MoleculeDefinition::G4MoleculeDefinition ( const G4MoleculeDefinition right)
protected

Definition at line 287 of file G4MoleculeDefinition.cc.

287  :
289  fDiffusionCoefficient(right.fDiffusionCoefficient),
290  fAtomsNb(right.fAtomsNb),
291  fVanDerVaalsRadius(right.fVanDerVaalsRadius)
292 {
293  if (right.fElectronOccupancy != 0)
294  {
295  fElectronOccupancy = new G4ElectronOccupancy(*(right.fElectronOccupancy));
296  }
297  else fElectronOccupancy = 0;
298 
299  if (right.fDecayTable != 0)
300  {
301  fDecayTable = new G4MolecularDissociationTable(*(right.fDecayTable));
302  }
303  else fDecayTable = 0;
304 
305  fCharge = right.fCharge;
306 }

Member Function Documentation

void G4MoleculeDefinition::AddDecayChannel ( const G4MolecularConfiguration molConf,
const G4MolecularDissociationChannel channel 
)

Definition at line 224 of file G4MoleculeDefinition.cc.

226 {
227  if (!fDecayTable)
228  {
229  fDecayTable = new G4MolecularDissociationTable();
230  }
231  fDecayTable->AddChannel(molConf, channel);
232 }
void AddChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4MoleculeDefinition::AddDecayChannel ( const G4String molecularConfLabel,
const G4MolecularDissociationChannel channel 
)

Definition at line 209 of file G4MoleculeDefinition.cc.

211 {
212  if(!fDecayTable)
213  {
214  fDecayTable = new G4MolecularDissociationTable();
215  }
216 
218  molecularConfLabel),
219  channel);
220 }
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
void AddChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)

Here is the call graph for this function:

void G4MoleculeDefinition::Finalize ( )

Definition at line 321 of file G4MoleculeDefinition.cc.

322 {
324 }
void Finalize(G4MoleculeDefinition *)
static G4MoleculeTable * Instance()

Here is the call graph for this function:

G4int G4MoleculeDefinition::GetAtomsNumber ( ) const
inline

Definition at line 226 of file G4MoleculeDefinition.hh.

227 {
228  return fAtomsNb;
229 }
G4int G4MoleculeDefinition::GetCharge ( ) const
inline

Definition at line 211 of file G4MoleculeDefinition.hh.

212 {
213  return fCharge;
214 }

Here is the caller graph for this function:

G4MolecularConfiguration * G4MoleculeDefinition::GetConfigurationWithLabel ( const G4String molecularConfLabel)

Definition at line 161 of file G4MoleculeDefinition.cc.

162 {
164  molecularConfLabel);
165 }
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)

Here is the call graph for this function:

const vector< const G4MolecularDissociationChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4MolecularConfiguration conf) const

Definition at line 260 of file G4MoleculeDefinition.cc.

262 {
263  if(fDecayTable)
264  {
265  const vector<const G4MolecularDissociationChannel*>* output =
266  fDecayTable->GetDecayChannels(conf);
267  return output;
268  }
269 // else
270 // {
271 // G4ExceptionDescription errMsg;
272 // errMsg << ": no Excited States and Decays for"
273 // << GetName()
274 // << " are defined.";
275 // G4Exception("G4MoleculeDefinition::GetDecayChannels",
276 // "",
277 // FatalErrorInArgument,
278 // errMsg);
279 // }
280  return 0;
281 }
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const

Here is the call graph for this function:

const vector< const G4MolecularDissociationChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4String ExState) const

Definition at line 237 of file G4MoleculeDefinition.cc.

238 {
239  if (fDecayTable)
240  {
241  const vector<const G4MolecularDissociationChannel*>* output =
242  fDecayTable->GetDecayChannels(ExState);
243  return output;
244  }
245  else
246  {
247  G4ExceptionDescription errMsg;
248  errMsg << ": no Excited States and Decays for"
249  << GetName()
250  << " are defined.";
251  G4Exception("G4MoleculeDefinition::GetDecayChannels", "",
252  FatalErrorInArgument, errMsg);
253  }
254  return 0;
255 }
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
const G4String & GetName() const

Here is the call graph for this function:

const G4MolecularDissociationTable * G4MoleculeDefinition::GetDecayTable ( ) const
inline

Definition at line 283 of file G4MoleculeDefinition.hh.

284 {
285  return fDecayTable;
286 }

Here is the caller graph for this function:

G4MolecularDissociationTable * G4MoleculeDefinition::GetDecayTable ( )
inline

Definition at line 288 of file G4MoleculeDefinition.hh.

289 {
290  return fDecayTable;
291 }
G4double G4MoleculeDefinition::GetDecayTime ( ) const
inline

Definition at line 216 of file G4MoleculeDefinition.hh.

217 {
218  return GetPDGLifeTime();
219 }
G4double GetPDGLifeTime() const

Here is the call graph for this function:

G4double G4MoleculeDefinition::GetDiffusionCoefficient ( ) const
inline

Definition at line 206 of file G4MoleculeDefinition.hh.

207 {
208  return fDiffusionCoefficient;
209 }
const G4String& G4MoleculeDefinition::GetFormatedName ( ) const
inline

Definition at line 159 of file G4MoleculeDefinition.hh.

160  {
161  return fFormatedName;
162  }
const G4ElectronOccupancy * G4MoleculeDefinition::GetGroundStateElectronOccupancy ( ) const
inline

Definition at line 241 of file G4MoleculeDefinition.hh.

242 {
243  return fElectronOccupancy;
244 }

Here is the caller graph for this function:

G4double G4MoleculeDefinition::GetMass ( ) const
inline

Definition at line 252 of file G4MoleculeDefinition.hh.

253 {
254  return GetPDGMass();
255 }
G4double GetPDGMass() const

Here is the call graph for this function:

Here is the caller graph for this function:

const G4String & G4MoleculeDefinition::GetName ( ) const
inline

Definition at line 246 of file G4MoleculeDefinition.hh.

247 {
248 
249  return GetParticleName();
250 }
const G4String & GetParticleName() const

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4MoleculeDefinition::GetNbElectrons ( ) const
inline

Definition at line 262 of file G4MoleculeDefinition.hh.

263 {
264  if (fElectronOccupancy)
265  {
266  return fElectronOccupancy->GetTotalOccupancy();
267  }
268 
269  return 0;
270  // return fNbOfElectrons;
271 }
G4int GetTotalOccupancy() const

Here is the call graph for this function:

Here is the caller graph for this function:

G4int G4MoleculeDefinition::GetNbMolecularShells ( ) const
inline

Definition at line 273 of file G4MoleculeDefinition.hh.

274 {
275  if (fElectronOccupancy)
276  {
277  return fElectronOccupancy->GetSizeOfOrbit();
278  }
279 
280  return 0;
281 }
G4int GetSizeOfOrbit() const

Here is the call graph for this function:

const G4String & G4MoleculeDefinition::GetType ( ) const
inline

Definition at line 257 of file G4MoleculeDefinition.hh.

258 {
259  return GetParticleSubType();
260 }
const G4String & GetParticleSubType() const

Here is the call graph for this function:

G4double G4MoleculeDefinition::GetVanDerVaalsRadius ( ) const
inline

Definition at line 236 of file G4MoleculeDefinition.hh.

237 {
238  return fVanDerVaalsRadius;
239 }
G4MoleculeDefinition * G4MoleculeDefinition::Load ( std::istream &  in)
static

Definition at line 76 of file G4MoleculeDefinition.cc.

77 {
78  G4String name;
79  G4double mass;
80  G4double diffCoeff;
81  G4int charge;
82  G4int electronicLevels;
83  G4double radius;
84  G4int atomsNumber;
85  G4double lifetime;
86  G4String aType;
87 
88  READ(in,name);
89  READ(in,mass);
90  READ(in,diffCoeff);
91  READ(in,charge);
92  READ(in,electronicLevels);
93  READ(in,radius);
94  READ(in,atomsNumber);
95  READ(in,lifetime);
96  READ(in,aType);
97 
98  return new G4MoleculeDefinition(name,
99  mass,
100  diffCoeff,
101  charge,
102  electronicLevels,
103  radius,
104  atomsNumber,
105  lifetime,
106  aType);
107 }
const XML_Char * name
Definition: expat.h:151
int G4int
Definition: G4Types.hh:78
void READ(std::istream &in, T &toBeSaved)
Definition: G4Serialize.hh:49
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4MolecularConfiguration * G4MoleculeDefinition::NewConfiguration ( const G4String excitedStateLabel)

Definition at line 148 of file G4MoleculeDefinition.cc.

149 {
150  bool alreadyExist(false);
152  molConfLabel,
153  this,
154  molConfLabel,
155  alreadyExist);
156 }
const G4String & GetName() const
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)

Here is the call graph for this function:

Here is the caller graph for this function:

G4MolecularConfiguration * G4MoleculeDefinition::NewConfigurationWithElectronOccupancy ( const G4String excitedStateLabel,
const G4ElectronOccupancy elecConf,
double  decayTime = 0. 
)

Definition at line 171 of file G4MoleculeDefinition.cc.

174 {
175  bool alreadyExist(false);
178  exStId,
179  this,
180  exStId,
181  elecConf,
182  alreadyExist);
183 
184  conf->SetDecayTime(decayTime);
185 
186  return conf;
187 }
const G4String & GetName() const
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4MoleculeDefinition::Serialize ( std::ostream &  out)

Definition at line 109 of file G4MoleculeDefinition.cc.

110 {
115  WRITE(out,fDiffusionCoefficient);
116  WRITE(out,fCharge);
117  if(fElectronOccupancy)
118  {
119  WRITE(out,fElectronOccupancy->GetSizeOfOrbit());
120  }
121  else
122  {
123  WRITE(out,(int) 0);
124  }
125  WRITE(out,fVanDerVaalsRadius);
126  WRITE(out,fAtomsNb);
127 }
void WRITE(std::ostream &out, const T &toBeSaved)
Definition: G4Serialize.hh:41
G4int GetSizeOfOrbit() const
const G4String & GetParticleName() const
const G4String & GetParticleType() const
G4double GetPDGMass() const
G4double GetPDGLifeTime() const

Here is the call graph for this function:

void G4MoleculeDefinition::SetAtomsNumber ( G4int  val)
inline

Definition at line 221 of file G4MoleculeDefinition.hh.

222 {
223  fAtomsNb = val;
224 }
void G4MoleculeDefinition::SetDiffusionCoefficient ( G4double  value)
inline

Definition at line 201 of file G4MoleculeDefinition.hh.

202 {
203  fDiffusionCoefficient = value;
204 }
const XML_Char int const XML_Char * value
Definition: expat.h:331
void G4MoleculeDefinition::SetFormatedName ( const G4String name)
inline

Definition at line 165 of file G4MoleculeDefinition.hh.

166  {
167  fFormatedName = name;
168  }
const XML_Char * name
Definition: expat.h:151
void G4MoleculeDefinition::SetLevelOccupation ( G4int  shell,
G4int  eNb = 2 
)

Definition at line 191 of file G4MoleculeDefinition.cc.

192 {
193  if(fElectronOccupancy)
194  {
195  G4int levelOccupancy = fElectronOccupancy->GetOccupancy(shell);
196 
197  if(levelOccupancy)
198  {
199 
200  fElectronOccupancy->RemoveElectron(shell, levelOccupancy);
201  }
202 
203  fElectronOccupancy->AddElectron(shell, eNb);
204  }
205 }
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)

Here is the call graph for this function:

void G4MoleculeDefinition::SetVanDerVaalsRadius ( G4double  val)
inline

Definition at line 231 of file G4MoleculeDefinition.hh.

232 {
233  fVanDerVaalsRadius = val;
234 }

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