VGM Version 5.3
Loading...
Searching...
No Matches
Element.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The Geant4GM package of the Virtual Geometry Model
5// Copyright (C) 2007, Ivana Hrivnacova
6// All rights reserved.
7//
8// For the licensing terms see vgm/LICENSE.
9// Contact: ivana@ipno.in2p3.fr
10// -----------------------------------------------------------------------
11
13//
19
20#ifndef GEANT4_GM_ELEMENT_H
21#define GEANT4_GM_ELEMENT_H
22
24
25#include <string>
26
27class G4Element;
28
29namespace Geant4GM {
30
31class Element : public virtual VGM::IElement
32{
33 public:
34 Element(
35 const std::string& name, const std::string& symbol, double z, double a);
36
37 Element(const std::string& name, const std::string& symbol,
38 const VGM::IsotopeVector& isotopes,
39 const VGM::RelAbundanceVector& relAbundances);
40
41 Element(G4Element* element);
42 virtual ~Element();
43
44 // methods
45 virtual std::string Name() const;
46 virtual std::string Symbol() const;
47
48 virtual double Z() const;
49 virtual double N() const;
50 virtual double A() const;
51
52 virtual int NofIsotopes() const;
53 virtual VGM::IIsotope* Isotope(int i) const;
54 virtual double RelAbundance(int i) const;
55
56 protected:
57 Element();
58 Element(const Element& rhs);
59
60 private:
61 void CheckIndex(int iel) const;
62
63 G4Element* fElement;
64};
65
66} // namespace Geant4GM
67
68#endif // GEANT4_GM_ELEMENT_H
VGM implementation for Geant4 element.
Definition Element.h:32
virtual double N() const
Return the effective number of nucleons.
Definition Element.cxx:144
virtual int NofIsotopes() const
Return the number of isotopes constituing this element.
Definition Element.cxx:153
virtual double Z() const
Return the effective atomic number.
Definition Element.cxx:141
virtual VGM::IIsotope * Isotope(int i) const
Return the i-th isotope constituing this element.
Definition Element.cxx:159
virtual std::string Symbol() const
Return the symbol of this element.
Definition Element.cxx:138
virtual std::string Name() const
Return the name of this element.
Definition Element.cxx:135
virtual ~Element()
Definition Element.cxx:110
virtual double A() const
Return the effective effective mass of a mole in g/mole.
Definition Element.cxx:147
virtual double RelAbundance(int i) const
Return the relative abundance (the fraction of nb of atomes per volume) of the i-th isotope constitui...
Definition Element.cxx:168
The VGM interface to elements.
Definition IElement.h:34
The VGM interface to elements.
Definition IIsotope.h:28
VGM implementation for Geant4.
Definition Element.h:29
std::vector< double > RelAbundanceVector
Definition IElement.h:31
std::vector< IIsotope * > IsotopeVector
Definition IElement.h:30