Main Page
Class Categories
Classes
Namespaces
File List
File Members
exper-sw
cosmosw
AugerSW
Offline
source
main
Utilities
Particles
NucleusProperties.h
Go to the documentation of this file.
1
9
#ifndef _utl_NucleusProperties_h_
10
#define _utl_NucleusProperties_h_
11
12
#include <utl/VParticleProperties.h>
13
14
15
namespace
utl {
16
33
class
NucleusProperties
:
public
utl::VParticleProperties
{
34
35
public
:
36
static
const
int
kNucleusBase
= 1000000000;
37
static
const
int
kNucleusMax
= 1000100300;
38
static
const
int
kAtomicNumberFactor
= 1;
39
static
const
int
kAtomicNumberMask
= 1000;
40
static
const
int
kChargeFactor
= 1000;
41
static
const
int
kChargeMask
= 1000000;
42
43
NucleusProperties
(
const
int
type) :
fType
(type) { }
44
46
virtual
int
GetType
()
const override
{
return
fType
; }
47
49
virtual
std::string
GetName
()
const override
;
50
52
virtual
double
GetAtomicNumber
()
const
;
53
55
virtual
double
GetMass
()
const override
;
56
58
static
int
TypeCode
(
const
unsigned
int
charge,
const
unsigned
int
atomicNumber);
59
61
static
bool
IsNucleus
(
const
int
type);
62
63
private
:
64
int
fType
= 0;
65
66
};
67
68
}
69
70
71
#endif
utl::NucleusProperties::GetAtomicNumber
virtual double GetAtomicNumber() const
Get atomic mass number A of particle.
Definition:
NucleusProperties.cc:64
utl::NucleusProperties::NucleusProperties
NucleusProperties(const int type)
Definition:
NucleusProperties.h:43
utl::NucleusProperties
Class to hold properties of nuclei.
Definition:
NucleusProperties.h:33
utl::NucleusProperties::kChargeFactor
static const int kChargeFactor
Definition:
NucleusProperties.h:40
utl::NucleusProperties::GetMass
virtual double GetMass() const override
Get particle mass (in Auger units)
Definition:
NucleusProperties.cc:78
utl::VParticleProperties
Internal interface for particle properties. This is intended to be implemented for elementary particl...
Definition:
VParticleProperties.h:23
utl::NucleusProperties::kAtomicNumberMask
static const int kAtomicNumberMask
Definition:
NucleusProperties.h:39
utl::NucleusProperties::fType
int fType
Definition:
NucleusProperties.h:64
utl::NucleusProperties::kNucleusBase
static const int kNucleusBase
Definition:
NucleusProperties.h:36
utl::NucleusProperties::kAtomicNumberFactor
static const int kAtomicNumberFactor
Definition:
NucleusProperties.h:38
utl::NucleusProperties::GetType
virtual int GetType() const override
Get particle type (using PDG particle codes)
Definition:
NucleusProperties.h:46
utl::NucleusProperties::TypeCode
static int TypeCode(const unsigned int charge, const unsigned int atomicNumber)
Calculate the particle type code from Z and A.
Definition:
NucleusProperties.cc:86
utl::NucleusProperties::kChargeMask
static const int kChargeMask
Definition:
NucleusProperties.h:41
utl::NucleusProperties::kNucleusMax
static const int kNucleusMax
Definition:
NucleusProperties.h:37
utl::NucleusProperties::IsNucleus
static bool IsNucleus(const int type)
Check if type code is a valid nucleus.
Definition:
NucleusProperties.cc:98
utl::NucleusProperties::GetName
virtual std::string GetName() const override
Get particle name.
Definition:
NucleusProperties.cc:51
, generated on Tue Sep 26 2023.