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

Protected Member Functions

 G4MoleculeDefinition ()
 G4MoleculeDefinition (const G4MoleculeDefinition &)

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.

00055                                             :
00056     G4ParticleDefinition(name, mass, 0., 0., 0, 0, 0, 0, 0, 0, "Molecule",
00057                          0, 0, ID, false, lifetime, NULL, false, aType, 0, 0.0),
00058     fMass(mass),
00059     fNbOfElectrons(electronsNumber), fNbOfMolecularShells(electronicLevels), fDiffusionCoefficient(diffCoeff),
00060     fAtomsNb(atomsNumber), fVanDerVaalsRadius(radius)
00061 
00062 {
00063     fElectronOccupancy = new G4ElectronOccupancy(fNbOfMolecularShells);
00064     fDecayTable = NULL;
00065 }
//___________________________________________________________________________

G4MoleculeDefinition::~G4MoleculeDefinition (  )  [virtual]

Definition at line 67 of file G4MoleculeDefinition.cc.

00068 {
00069     if (fElectronOccupancy)
00070     {
00071         delete fElectronOccupancy;
00072         fElectronOccupancy = 0;
00073     }
00074     if (fDecayTable)
00075     {
00076         delete fDecayTable;
00077         fDecayTable = 0;
00078     }
00079     // fMolecularConfiguration = 0;
00080 }

G4MoleculeDefinition::G4MoleculeDefinition (  )  [protected]

Referenced by G4OH::Definition(), G4Hydrogen::Definition(), G4H3O::Definition(), G4H2O2::Definition(), G4H2O::Definition(), G4H2::Definition(), and G4Electron_aq::Definition().

G4MoleculeDefinition::G4MoleculeDefinition ( const G4MoleculeDefinition  )  [protected]

Definition at line 177 of file G4MoleculeDefinition.cc.

References fDecayTable, and fElectronOccupancy.

00177                                                                            :
00178     G4ParticleDefinition((const G4ParticleDefinition &)right),
00179     fMass(right.fMass),
00180     fNbOfElectrons (right.fNbOfElectrons),
00181     fNbOfMolecularShells(right.fNbOfMolecularShells),
00182     fDiffusionCoefficient( right.fDiffusionCoefficient),
00183     fAtomsNb( right.fAtomsNb),
00184     fVanDerVaalsRadius (right.fVanDerVaalsRadius)
00185 {
00186     if(right.fElectronOccupancy!=0)
00187     {
00188         fElectronOccupancy= new G4ElectronOccupancy(*(right.fElectronOccupancy));
00189     }
00190     else fElectronOccupancy = 0;
00191 
00192     if(right.fDecayTable!=0)
00193     {
00194         fDecayTable = new G4MolecularDecayTable(*(right.fDecayTable));
00195     }
00196     else fDecayTable =0;
00197 }


Member Function Documentation

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

Definition at line 133 of file G4MoleculeDefinition.cc.

References G4MolecularDecayTable::AddDecayChannel().

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

00135 {
00136     if (!fDecayTable)
00137     {
00138         fDecayTable = new G4MolecularDecayTable();
00139     }
00140     fDecayTable->AddDecayChannel(chanId, chan);
00141 }

void G4MoleculeDefinition::AddeConfToExcitedState ( const G4String ,
const G4ElectronOccupancy ,
double  decayTime = 0. 
)

Definition at line 82 of file G4MoleculeDefinition.cc.

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

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

00085 {
00086     if (!fDecayTable)
00087     {
00088         fDecayTable = new G4MolecularDecayTable();
00089     }
00090     fDecayTable->AddeConfToExcitedState(exStId, conf);
00091     G4MolecularConfiguration::GetMolecularConfiguration(this,conf)->SetDecayTime(decayTime);
00092 }

void G4MoleculeDefinition::AddExcitedState ( const G4String  ) 

Definition at line 108 of file G4MoleculeDefinition.cc.

References G4MolecularDecayTable::AddExcitedState().

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

00109 {
00110     if (!fDecayTable)
00111     {
00112         fDecayTable = new G4MolecularDecayTable();
00113     }
00114 
00115     fDecayTable->AddExcitedState(val);
00116 
00117 }

G4int G4MoleculeDefinition::GetAtomsNumber (  )  const [inline]

Definition at line 168 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::GetAtomsNumber().

00169 {
00170     return fAtomsNb;
00171 }

const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4String  )  const

Definition at line 143 of file G4MoleculeDefinition.cc.

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

00144 {
00145     if (fDecayTable)
00146     {
00147         const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(ExState);
00148         return output;
00149     }
00150     else
00151     {
00152         G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
00153         G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
00154     }
00155     return 0;
00156 }

const vector< const G4MolecularDecayChannel * > * G4MoleculeDefinition::GetDecayChannels ( const G4ElectronOccupancy  )  const

Definition at line 158 of file G4MoleculeDefinition.cc.

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

00159 {
00160     if (fDecayTable)
00161     {
00162         const vector<const G4MolecularDecayChannel*>* output = fDecayTable->GetDecayChannels(occ);
00163         return output;
00164     }
00165     else
00166     {
00167         G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
00168         G4Exception("G4MoleculeDefinition::GetDecayChannels","",FatalErrorInArgument,errMsg);
00169     }
00170     return 0;
00171 }

G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable (  )  [inline]

Definition at line 222 of file G4MoleculeDefinition.hh.

00223 {
00224     return fDecayTable;
00225 }

const G4MolecularDecayTable * G4MoleculeDefinition::GetDecayTable (  )  const [inline]

Reimplemented from G4ParticleDefinition.

Definition at line 217 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::PrintState().

00218 {
00219     return fDecayTable;
00220 }

G4double G4MoleculeDefinition::GetDecayTime (  )  const [inline]

Definition at line 158 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetPDGLifeTime().

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

00159 {
00160     return GetPDGLifeTime();
00161 }

G4double G4MoleculeDefinition::GetDiffusionCoefficient (  )  const [inline]

Definition at line 153 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

00154 {
00155     return fDiffusionCoefficient;
00156 }

const G4String & G4MoleculeDefinition::GetExcitedState ( const G4ElectronOccupancy  )  const

Definition at line 119 of file G4MoleculeDefinition.cc.

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

00120 {
00121     if (fDecayTable)
00122     {
00123         return fDecayTable->GetExcitedState(occ);
00124     }
00125     else
00126     {
00127         G4String const errMsg = ": no Excited States and Decays for"+ GetName() + " are defined.";
00128         G4Exception("G4MoleculeDefinition::GetExcitedState","",FatalErrorInArgument,errMsg);
00129     }
00130     return *(new G4String(""));
00131 }

const G4ElectronOccupancy * G4MoleculeDefinition::GetGroundStateElectronOccupancy (  )  const [inline]

Definition at line 183 of file G4MoleculeDefinition.hh.

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels(), G4Molecule::G4Molecule(), G4MolecularConfiguration::GetMolecularConfiguration(), and G4MolecularConfiguration::PrintState().

00184 {
00185     return fElectronOccupancy;
00186 }

G4double G4MoleculeDefinition::GetMass (  )  const [inline]

Definition at line 194 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

00195 {
00196     return fMass;
00197 }

const G4String & G4MoleculeDefinition::GetName (  )  const [inline]

Definition at line 188 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetParticleName().

Referenced by GetDecayChannels(), GetExcitedState(), and G4MolecularConfiguration::GetName().

00189 {
00190 
00191     return GetParticleName();
00192 }

G4int G4MoleculeDefinition::GetNbElectrons (  )  const [inline]

Definition at line 205 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

00206 {
00207 
00208     return fNbOfElectrons;
00209 }

G4int G4MoleculeDefinition::GetNbMolecularShells (  )  const [inline]

Definition at line 211 of file G4MoleculeDefinition.hh.

00212 {
00213 
00214     return fNbOfMolecularShells;
00215 }

const G4String & G4MoleculeDefinition::GetType (  )  const [inline]

Definition at line 199 of file G4MoleculeDefinition.hh.

References G4ParticleDefinition::GetParticleSubType().

00200 {
00201 
00202     return GetParticleSubType();
00203 }

G4double G4MoleculeDefinition::GetVanDerVaalsRadius (  )  const [inline]

Definition at line 178 of file G4MoleculeDefinition.hh.

Referenced by G4MolecularConfiguration::G4MolecularConfiguration().

00179 {
00180     return fVanDerVaalsRadius;
00181 }

void G4MoleculeDefinition::SetAtomsNumber ( G4int   )  [inline]

Definition at line 163 of file G4MoleculeDefinition.hh.

00164 {
00165     fAtomsNb = val;
00166 }

void G4MoleculeDefinition::SetDiffusionCoefficient ( G4double   )  [inline]

Definition at line 148 of file G4MoleculeDefinition.hh.

00149 {
00150     fDiffusionCoefficient = value;
00151 }

void G4MoleculeDefinition::SetLevelOccupation ( G4int  ,
G4int  eNb = 2 
)

Definition at line 94 of file G4MoleculeDefinition.cc.

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

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

00095 {
00096     G4int levelOccupancy = fElectronOccupancy->GetOccupancy(shell);
00097 
00098     if (levelOccupancy)
00099     {
00100 
00101         fElectronOccupancy->RemoveElectron(shell, levelOccupancy);
00102     }
00103 
00104     fElectronOccupancy->AddElectron(shell,eNb);
00105 
00106 }

void G4MoleculeDefinition::SetVanDerVaalsRadius ( G4double   )  [inline]

Definition at line 173 of file G4MoleculeDefinition.hh.

00174 {
00175     fVanDerVaalsRadius = val;
00176 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:30 2013 for Geant4 by  doxygen 1.4.7