50 G4int electronicLevels,
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)
70 fElectronOccupancy = 0;
82 G4int electronicLevels;
92 READ(in,electronicLevels);
115 WRITE(out,fDiffusionCoefficient);
117 if(fElectronOccupancy)
125 WRITE(out,fVanDerVaalsRadius);
133 if (fElectronOccupancy)
135 delete fElectronOccupancy;
136 fElectronOccupancy = 0;
150 bool alreadyExist(
false);
175 bool alreadyExist(
false);
193 if(fElectronOccupancy)
236 const vector<const G4MolecularDissociationChannel*>*
241 const vector<const G4MolecularDissociationChannel*>* output =
248 errMsg <<
": no Excited States and Decays for"
251 G4Exception(
"G4MoleculeDefinition::GetDecayChannels",
"",
259 const vector<const G4MolecularDissociationChannel*>*
265 const vector<const G4MolecularDissociationChannel*>* output =
289 fDiffusionCoefficient(right.fDiffusionCoefficient),
290 fAtomsNb(right.fAtomsNb),
291 fVanDerVaalsRadius(right.fVanDerVaalsRadius)
293 if (right.fElectronOccupancy != 0)
297 else fElectronOccupancy = 0;
299 if (right.fDecayTable != 0)
303 else fDecayTable = 0;
305 fCharge = right.fCharge;
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const
static G4MoleculeDefinition * Load(std::istream &)
void Insert(G4MoleculeDefinition *)
void Serialize(std::ostream &)
std::ostringstream G4ExceptionDescription
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const
void AddDecayChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
void WRITE(std::ostream &out, const T &toBeSaved)
G4int GetSizeOfOrbit() const
void Finalize(G4MoleculeDefinition *)
const G4String & GetParticleName() const
G4MolecularConfiguration * NewConfiguration(const G4String &excitedStateLabel)
G4int GetOccupancy(G4int orbit) const
G4int AddElectron(G4int orbit, G4int number=1)
static G4MoleculeTable * Instance()
const G4String & GetParticleType() const
virtual ~G4MoleculeDefinition()
void AddChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double GetPDGMass() const
void SetDecayTime(G4double)
const G4String & GetName() const
G4double GetPDGLifeTime() const
void SetLevelOccupation(G4int, G4int eNb=2)
void READ(std::istream &in, T &toBeSaved)
G4MolecularConfiguration * NewConfigurationWithElectronOccupancy(const G4String &excitedStateLabel, const G4ElectronOccupancy &, double decayTime=0.)
G4MolecularConfiguration * GetConfigurationWithLabel(const G4String &molecularConfLabel)
G4int RemoveElectron(G4int orbit, G4int number=1)
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)