VGM
Version 5.3
Loading...
Searching...
No Matches
packages
Geant4GM
source
materials
Isotope.cxx
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
12
//
13
// Class Isotope
14
// ---------------
15
// VGM implementation for Geant4 isotope.
16
//
17
// Author: Ivana Hrivnacova; IPN Orsay
18
19
#include "
ClhepVGM/Units.h
"
20
21
#include "
Geant4GM/materials/Isotope.h
"
22
#include "
Geant4GM/materials/IsotopeMap.h
"
23
24
#include "G4Isotope.hh"
25
26
//_____________________________________________________________________________
27
Geant4GM::Isotope::Isotope
(
const
std::string& name,
int
z,
int
n,
double
a)
28
:
VGM
::IIsotope(),
29
fIsotope(new G4Isotope(name, z, n, a /
ClhepVGM
::Units::AtomicWeight()))
30
{
37
38
// Register Isotope in the map
39
IsotopeMap::Instance
()->
AddIsotope
(
this
, fIsotope);
40
}
41
42
//_____________________________________________________________________________
43
Geant4GM::Isotope::Isotope
(G4Isotope* isotope)
44
:
VGM
::IIsotope(), fIsotope(isotope)
45
{
47
48
// Register Isotope in the map
49
IsotopeMap::Instance
()->
AddIsotope
(
this
, fIsotope);
50
}
51
52
//_____________________________________________________________________________
53
Geant4GM::Isotope::Isotope
() :
VGM
::IIsotope()
54
{
56
}
57
58
//_____________________________________________________________________________
59
Geant4GM::Isotope::Isotope
(
const
Isotope
& rhs) :
VGM
::IIsotope(rhs)
60
{
62
}
63
64
//_____________________________________________________________________________
65
Geant4GM::Isotope::~Isotope
()
66
{
67
//
68
}
69
70
//
71
// public functions
72
//
73
74
//_____________________________________________________________________________
75
std::string
Geant4GM::Isotope::Name
()
const
{
return
fIsotope->GetName(); }
76
77
//_____________________________________________________________________________
78
int
Geant4GM::Isotope::Z
()
const
{
return
fIsotope->GetZ(); }
79
80
//_____________________________________________________________________________
81
int
Geant4GM::Isotope::N
()
const
{
return
fIsotope->GetN(); }
82
83
//_____________________________________________________________________________
84
double
Geant4GM::Isotope::A
()
const
85
{
86
return
fIsotope->GetA() *
ClhepVGM::Units::AtomicWeight
();
87
}
Units.h
IsotopeMap.h
Isotope.h
ClhepVGM::Units::AtomicWeight
static double AtomicWeight()
Return CLHEP default atomic weight unit in VGM units.
Definition
Units.cxx:107
Geant4GM::IsotopeMap::Instance
static IsotopeMap * Instance()
Definition
IsotopeMap.cxx:28
Geant4GM::IsotopeMap::AddIsotope
void AddIsotope(VGM::IIsotope *, G4Isotope *)
Definition
IsotopeMap.cxx:63
Geant4GM::Isotope
VGM implementation for Geant4 Isotope.
Definition
Isotope.h:32
Geant4GM::Isotope::Z
virtual int Z() const
Return the effective atomic number.
Definition
Isotope.cxx:78
Geant4GM::Isotope::Name
virtual std::string Name() const
Return the name of this element.
Definition
Isotope.cxx:75
Geant4GM::Isotope::Isotope
Isotope()
Definition
Isotope.cxx:53
Geant4GM::Isotope::~Isotope
virtual ~Isotope()
Definition
Isotope.cxx:65
Geant4GM::Isotope::N
virtual int N() const
Return the effective number of nucleons.
Definition
Isotope.cxx:81
Geant4GM::Isotope::A
virtual double A() const
Return the effective effective mass of a mole in g/mole.
Definition
Isotope.cxx:84
ClhepVGM
ClhepVGM utilities.
Definition
transform.h:29
VGM
VGM interfaces.
Definition
VMedium.h:28
Generated on Thu Nov 28 2024 10:40:48 for VGM by
1.12.0