VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
VGM
include
VGM
materials
IElement.h
Go to the documentation of this file.
1
// $Id$
2
3
// -----------------------------------------------------------------------
4
// The VGM 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 VGM_I_ELEMENT_H
21
#define VGM_I_ELEMENT_H
22
23
#include <iostream>
24
#include <string>
25
#include <vector>
26
27
namespace
VGM
{
28
class
IIsotope
;
29
30
typedef
std::vector<IIsotope*>
IsotopeVector
;
31
typedef
std::vector<double>
RelAbundanceVector
;
32
33
class
IElement
34
{
35
public
:
36
virtual
~IElement
() {}
37
38
// methods
41
virtual
std::string
Name
()
const
= 0;
44
virtual
std::string
Symbol
()
const
= 0;
47
virtual
double
Z
()
const
= 0;
50
virtual
double
N
()
const
= 0;
54
virtual
double
A
()
const
= 0;
58
virtual
int
NofIsotopes
()
const
= 0;
61
virtual
IIsotope
*
Isotope
(
int
i)
const
= 0;
66
virtual
double
RelAbundance
(
int
i)
const
= 0;
67
};
68
}
// namespace VGM
69
70
std::ostream&
operator<<
(std::ostream& out,
const
VGM::IElement
& element);
71
72
#endif
// VGM_I_ELEMENT_H
operator<<
std::ostream & operator<<(std::ostream &out, const VGM::IElement &element)
Definition
element.cxx:22
VGM::IElement
The VGM interface to elements.
Definition
IElement.h:34
VGM::IElement::Isotope
virtual IIsotope * Isotope(int i) const =0
Return the i-th isotope constituing this element.
VGM::IElement::~IElement
virtual ~IElement()
Definition
IElement.h:36
VGM::IElement::NofIsotopes
virtual int NofIsotopes() const =0
Return the number of isotopes constituing this element.
VGM::IElement::Z
virtual double Z() const =0
Return the effective atomic number.
VGM::IElement::RelAbundance
virtual double RelAbundance(int i) const =0
Return the relative abundance (the fraction of nb of atomes per volume) of the i-th isotope constitui...
VGM::IElement::Name
virtual std::string Name() const =0
Return the name of this element.
VGM::IElement::Symbol
virtual std::string Symbol() const =0
Return the symbol of this element.
VGM::IElement::A
virtual double A() const =0
Return the effective effective mass of a mole in g/mole.
VGM::IElement::N
virtual double N() const =0
Return the effective number of nucleons.
VGM::IIsotope
The VGM interface to elements.
Definition
IIsotope.h:28
VGM
VGM interfaces.
Definition
VMedium.h:28
VGM::RelAbundanceVector
std::vector< double > RelAbundanceVector
Definition
IElement.h:31
VGM::IsotopeVector
std::vector< IIsotope * > IsotopeVector
Definition
IElement.h:30
Generated on
for VGM by
1.17.0