VGM Version 5.3
Loading...
Searching...
No Matches
Element.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The RootGM 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 ROOT_GM_ELEMENT_H
21#define ROOT_GM_ELEMENT_H
22
24
25#include <string>
26
27class TGeoElement;
28
29namespace RootGM {
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(TGeoElement* geoElement);
42 virtual ~Element();
43
44 // operators
46
47 // methods
48 virtual std::string Name() const;
49 virtual std::string Symbol() const;
50
51 virtual double Z() const;
52 virtual double N() const;
53 virtual double A() const;
54
55 virtual int NofIsotopes() const;
56 virtual VGM::IIsotope* Isotope(int i) const;
57 virtual double RelAbundance(int i) const;
58
59 private:
60 // not implemented
61 Element(const Element& rhs);
62 Element();
63
64 void CheckIndex(int iel) const;
65
66 TGeoElement* fElement;
67};
68
69} // namespace RootGM
70
71#endif // ROOT_GM_ELEMENT_H
VGM implementation for Root element using TGeoElement object.
Definition Element.h:32
virtual VGM::IIsotope * Isotope(int i) const
Return the i-th isotope constituing this element.
Definition Element.cxx:148
virtual int NofIsotopes() const
Return the number of isotopes constituing this element.
Definition Element.cxx:145
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:157
virtual std::string Symbol() const
Return the symbol of this element.
Definition Element.cxx:130
virtual double N() const
Return the effective number of nucleons.
Definition Element.cxx:136
virtual double A() const
Return the effective effective mass of a mole in g/mole.
Definition Element.cxx:139
virtual std::string Name() const
Return the name of this element.
Definition Element.cxx:127
virtual ~Element()
Definition Element.cxx:102
Element & operator=(const Element &rhs)
virtual double Z() const
Return the effective atomic number.
Definition Element.cxx:133
The VGM interface to elements.
Definition IElement.h:34
The VGM interface to elements.
Definition IIsotope.h:28
VGM implementation for Root.
Definition axis.h:28
std::vector< double > RelAbundanceVector
Definition IElement.h:31
std::vector< IIsotope * > IsotopeVector
Definition IElement.h:30