Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
physics
include
TG4ParticlesChecker.h
Go to the documentation of this file.
1
#ifndef TG4_PARTICLES_CHECKER_H
2
#define TG4_PARTICLES_CHECKER_H
3
4
//------------------------------------------------
5
// The Geant4 Virtual Monte Carlo package
6
// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7
// All rights reserved.
8
//
9
// For the licensing terms see geant4_vmc/LICENSE.
10
// Contact: root-vmc@cern.ch
11
//-------------------------------------------------
12
17
18
#include "
TG4ParticlesCheckerMessenger.h
"
19
#include "
TG4Verbose.h
"
20
21
#include <set>
22
23
class
G4ParticleDefinition
;
24
25
class
TParticlePDG;
26
37
38
class
TG4ParticlesChecker
:
public
TG4Verbose
39
{
40
public
:
42
enum
ParticleProperty
43
{
44
kName
,
45
kMass
,
46
kCharge
,
47
kLifetime
,
48
kWidth
,
49
kParity
,
50
kSpin
,
51
kIsospin
,
52
kIsospin3
,
53
kNone
54
};
55
56
public
:
57
TG4ParticlesChecker
();
58
~TG4ParticlesChecker
();
59
60
static
G4String
GetParticlePropertyName
(ParticleProperty property);
61
static
ParticleProperty
GetParticleProperty
(
const
G4String& propertyName);
62
63
G4bool
CheckParticles
()
const
;
64
G4bool
CheckParticle
(G4int pdgEncoding)
const
;
65
66
// set methods
67
void
SetChecking
(ParticleProperty property, G4bool check);
68
void
SetPrecision
(G4double precision);
69
70
// get methods
71
const
std::set<ParticleProperty>&
GetAvailableProperties
()
const
;
72
const
std::set<ParticleProperty>&
GetCheckedProperties
()
const
;
73
74
private
:
76
TG4ParticlesChecker
(
const
TG4ParticlesChecker
& right);
78
TG4ParticlesChecker
&
operator=
(
const
TG4ParticlesChecker
& right);
79
80
// methods
81
G4bool
IsEqualRel
(G4double dx, G4double dy, G4double epsilon)
const
;
82
83
G4double
GetPropertyValue
(
84
ParticleProperty
property,
G4ParticleDefinition
* g4Particle)
const
;
85
G4double
GetPropertyValue
(
86
ParticleProperty
property, TParticlePDG* rtParticle)
const
;
87
88
void
PrintCheckedProperties
()
const
;
89
90
G4bool
CheckName
(
91
G4ParticleDefinition
* g4Particle, TParticlePDG* rtParticle)
const
;
92
G4bool
CheckProperty
(
ParticleProperty
property,
93
G4ParticleDefinition
* g4Particle, TParticlePDG* rtParticle)
const
;
94
G4bool
CheckParticle
(
95
G4ParticleDefinition
* g4Particle, TParticlePDG* rtParticle)
const
;
96
97
// static data members
98
static
const
G4double
fgkDefaultPrecision
;
99
100
// data members
101
103
TG4ParticlesCheckerMessenger
fMessenger
;
104
106
std::set<ParticleProperty>
fAvailableProperties
;
107
109
std::set<ParticleProperty>
fCheckedProperties
;
110
112
G4double
fPrecision
;
113
};
114
115
// inline functions
116
117
inline
void
TG4ParticlesChecker::SetPrecision
(G4double precision)
118
{
120
fPrecision
= precision;
121
}
122
123
inline
const
std::set<TG4ParticlesChecker::ParticleProperty>&
124
TG4ParticlesChecker::GetAvailableProperties
()
const
125
{
127
return
fAvailableProperties
;
128
}
129
130
inline
const
std::set<TG4ParticlesChecker::ParticleProperty>&
131
TG4ParticlesChecker::GetCheckedProperties
()
const
132
{
134
return
fCheckedProperties
;
135
}
136
137
#endif
// TG4_PARTICLES_CHECKER_H
TG4ParticlesCheckerMessenger.h
Definition of the TG4ParticlesCheckerMessenger class.
TG4Verbose.h
Definition of the TG4Verbose class.
G4ParticleDefinition
TG4ParticlesCheckerMessenger
Messenger class that defines commands for TG4ParticlesChecker.
Definition
TG4ParticlesCheckerMessenger.h:45
TG4ParticlesChecker::GetAvailableProperties
const std::set< ParticleProperty > & GetAvailableProperties() const
Definition
TG4ParticlesChecker.h:124
TG4ParticlesChecker::fPrecision
G4double fPrecision
precision for checking
Definition
TG4ParticlesChecker.h:112
TG4ParticlesChecker::CheckParticle
G4bool CheckParticle(G4int pdgEncoding) const
Definition
TG4ParticlesChecker.cxx:462
TG4ParticlesChecker::ParticleProperty
ParticleProperty
The enumeration of "checkable" particle properties.
Definition
TG4ParticlesChecker.h:43
TG4ParticlesChecker::kCharge
@ kCharge
charge
Definition
TG4ParticlesChecker.h:46
TG4ParticlesChecker::kLifetime
@ kLifetime
lifetime
Definition
TG4ParticlesChecker.h:47
TG4ParticlesChecker::kIsospin3
@ kIsospin3
isospin3
Definition
TG4ParticlesChecker.h:52
TG4ParticlesChecker::kSpin
@ kSpin
spin
Definition
TG4ParticlesChecker.h:50
TG4ParticlesChecker::kParity
@ kParity
parity
Definition
TG4ParticlesChecker.h:49
TG4ParticlesChecker::kNone
@ kNone
no property
Definition
TG4ParticlesChecker.h:53
TG4ParticlesChecker::kMass
@ kMass
mass
Definition
TG4ParticlesChecker.h:45
TG4ParticlesChecker::kWidth
@ kWidth
width
Definition
TG4ParticlesChecker.h:48
TG4ParticlesChecker::kName
@ kName
mass
Definition
TG4ParticlesChecker.h:44
TG4ParticlesChecker::kIsospin
@ kIsospin
isospin
Definition
TG4ParticlesChecker.h:51
TG4ParticlesChecker::TG4ParticlesChecker
TG4ParticlesChecker()
Definition
TG4ParticlesChecker.cxx:101
TG4ParticlesChecker::SetChecking
void SetChecking(ParticleProperty property, G4bool check)
Definition
TG4ParticlesChecker.cxx:497
TG4ParticlesChecker::fCheckedProperties
std::set< ParticleProperty > fCheckedProperties
set of properties selected for checking
Definition
TG4ParticlesChecker.h:109
TG4ParticlesChecker::GetParticlePropertyName
static G4String GetParticlePropertyName(ParticleProperty property)
Definition
TG4ParticlesChecker.cxx:39
TG4ParticlesChecker::GetParticleProperty
static ParticleProperty GetParticleProperty(const G4String &propertyName)
Definition
TG4ParticlesChecker.cxx:69
TG4ParticlesChecker::operator=
TG4ParticlesChecker & operator=(const TG4ParticlesChecker &right)
Not implemented.
TG4ParticlesChecker::fgkDefaultPrecision
static const G4double fgkDefaultPrecision
default precision
Definition
TG4ParticlesChecker.h:98
TG4ParticlesChecker::~TG4ParticlesChecker
~TG4ParticlesChecker()
Definition
TG4ParticlesChecker.cxx:130
TG4ParticlesChecker::fMessenger
TG4ParticlesCheckerMessenger fMessenger
messenger for this class
Definition
TG4ParticlesChecker.h:103
TG4ParticlesChecker::PrintCheckedProperties
void PrintCheckedProperties() const
Definition
TG4ParticlesChecker.cxx:209
TG4ParticlesChecker::TG4ParticlesChecker
TG4ParticlesChecker(const TG4ParticlesChecker &right)
Not implemented.
TG4ParticlesChecker::GetCheckedProperties
const std::set< ParticleProperty > & GetCheckedProperties() const
Definition
TG4ParticlesChecker.h:131
TG4ParticlesChecker::CheckParticles
G4bool CheckParticles() const
Definition
TG4ParticlesChecker.cxx:385
TG4ParticlesChecker::CheckName
G4bool CheckName(G4ParticleDefinition *g4Particle, TParticlePDG *rtParticle) const
Definition
TG4ParticlesChecker.cxx:228
TG4ParticlesChecker::IsEqualRel
G4bool IsEqualRel(G4double dx, G4double dy, G4double epsilon) const
Definition
TG4ParticlesChecker.cxx:140
TG4ParticlesChecker::fAvailableProperties
std::set< ParticleProperty > fAvailableProperties
set of available properties
Definition
TG4ParticlesChecker.h:106
TG4ParticlesChecker::GetPropertyValue
G4double GetPropertyValue(ParticleProperty property, G4ParticleDefinition *g4Particle) const
Definition
TG4ParticlesChecker.cxx:151
TG4ParticlesChecker::CheckProperty
G4bool CheckProperty(ParticleProperty property, G4ParticleDefinition *g4Particle, TParticlePDG *rtParticle) const
Definition
TG4ParticlesChecker.cxx:327
TG4ParticlesChecker::SetPrecision
void SetPrecision(G4double precision)
Definition
TG4ParticlesChecker.h:117
TG4Verbose::TG4Verbose
TG4Verbose(const G4String &cmdName)
Definition
TG4Verbose.cxx:24
Generated on
for Geant4 VMC by
1.17.0