Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
global
include
TG4G3CutVector.h
Go to the documentation of this file.
1
#ifndef TG4_G3_CUT_VECTOR_H
2
#define TG4_G3_CUT_VECTOR_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 "
TG4G3Cut.h
"
19
#include "
TG4Globals.h
"
20
21
#include <array>
22
23
class
G4Track;
24
30
31
class
TG4G3CutVector
32
{
33
public
:
34
TG4G3CutVector
();
35
TG4G3CutVector
(
const
TG4G3CutVector
& right);
36
~TG4G3CutVector
();
37
38
// operators
39
TG4G3CutVector
&
operator=
(
const
TG4G3CutVector
& right);
40
G4double
operator[]
(G4int index)
const
;
41
42
// static methods
43
static
G4double
Tolerance
();
44
static
TG4G3Cut
GetCut
(
const
G4String& cutName);
45
static
G4bool
CheckCutValue
(
TG4G3Cut
cut, G4double value);
46
static
const
G4String&
GetCutName
(
TG4G3Cut
cut);
47
48
// set methods
49
void
SetCut
(
TG4G3Cut
cut, G4double cutValue);
50
void
SetG3Defaults
();
51
void
SetDeltaRaysOn
(G4bool value);
52
53
// methods
54
G4String
Format
()
const
;
55
void
Print
()
const
;
56
57
// get methods
58
G4double
GetMinEkineForGamma
(
const
G4Track& track)
const
;
59
G4double
GetMinEkineForElectron
(
const
G4Track& track)
const
;
60
G4double
GetMinEkineForChargedHadron
(
const
G4Track& track)
const
;
61
G4double
GetMinEkineForNeutralHadron
(
const
G4Track& track)
const
;
62
G4double
GetMinEkineForMuon
(
const
G4Track& track)
const
;
63
G4double
GetMinEtotPair
()
const
;
64
G4bool
IsCut
()
const
;
65
66
private
:
67
// static methods
68
static
void
FillCutNameVector
();
69
70
//
71
// static data members
72
74
static
const
G4double
fgkDCUTEOff
;
75
77
static
const
G4double
fgkDCUTMOff
;
78
80
static
const
G4double
fgkTolerance
;
81
83
static
TG4StringVector
fgCutNameVector
;
84
85
//
86
// data members
87
89
TG4doubleVector
fCutVector
;
90
92
G4bool
fDeltaRaysOn
=
true
;
93
95
G4bool
fIsCut
=
false
;
96
98
enum
IsBDCutIndex
{
99
kBE
,
kBM
,
kDE
,
kDM
100
};
101
103
std::array<G4bool, 4>
fIsBDCut
= {
false
,
false
,
false
,
false
};
104
106
enum
ApplyBDCutIndex
{
107
kB
,
kBEM
,
kD
,
kDEM
108
};
109
111
std::array<G4bool, 4>
fApplyBDCut
= {
false
,
false
,
false
,
false
};
112
};
113
114
// inline methods
115
116
inline
G4double
TG4G3CutVector::Tolerance
()
117
{
119
return
fgkTolerance
;
120
}
121
122
inline
void
TG4G3CutVector::SetDeltaRaysOn
(G4bool value)
123
{
125
fDeltaRaysOn
= value;
126
}
127
128
inline
G4bool
TG4G3CutVector::IsCut
()
const
129
{
131
return
fIsCut
;
132
}
133
134
#endif
// TG4_CUT_VECTOR_H
TG4G3Cut.h
Definition of the enumeration TG4G3Cut.
TG4Globals.h
Definition of the TG4Globals class and basic container types.
TG4G3CutVector::fApplyBDCut
std::array< G4bool, 4 > fApplyBDCut
flag set if [B/D]CUT[E/M] cut is different from CUT[ELE/GAM]
Definition
TG4G3CutVector.h:111
TG4G3CutVector::TG4G3CutVector
TG4G3CutVector()
Definition
TG4G3CutVector.cxx:118
TG4G3CutVector::IsBDCutIndex
IsBDCutIndex
local enumeration for the indices in the flags arrays
Definition
TG4G3CutVector.h:98
TG4G3CutVector::kDM
@ kDM
Definition
TG4G3CutVector.h:99
TG4G3CutVector::kBM
@ kBM
Definition
TG4G3CutVector.h:99
TG4G3CutVector::kDE
@ kDE
Definition
TG4G3CutVector.h:99
TG4G3CutVector::kBE
@ kBE
Definition
TG4G3CutVector.h:99
TG4G3CutVector::fIsCut
G4bool fIsCut
flag if any value is set
Definition
TG4G3CutVector.h:95
TG4G3CutVector::GetMinEkineForChargedHadron
G4double GetMinEkineForChargedHadron(const G4Track &track) const
Definition
TG4G3CutVector.cxx:440
TG4G3CutVector::GetCut
static TG4G3Cut GetCut(const G4String &cutName)
Definition
TG4G3CutVector.cxx:44
TG4G3CutVector::fCutVector
TG4doubleVector fCutVector
vector of kinetic energy cut values
Definition
TG4G3CutVector.h:89
TG4G3CutVector::SetG3Defaults
void SetG3Defaults()
Definition
TG4G3CutVector.cxx:284
TG4G3CutVector::ApplyBDCutIndex
ApplyBDCutIndex
local enumeration for the indices in the flags arrays
Definition
TG4G3CutVector.h:106
TG4G3CutVector::kB
@ kB
Definition
TG4G3CutVector.h:107
TG4G3CutVector::kDEM
@ kDEM
Definition
TG4G3CutVector.h:107
TG4G3CutVector::kBEM
@ kBEM
Definition
TG4G3CutVector.h:107
TG4G3CutVector::kD
@ kD
Definition
TG4G3CutVector.h:107
TG4G3CutVector::GetMinEtotPair
G4double GetMinEtotPair() const
Definition
TG4G3CutVector.cxx:466
TG4G3CutVector::Tolerance
static G4double Tolerance()
Definition
TG4G3CutVector.h:116
TG4G3CutVector::fgCutNameVector
static TG4StringVector fgCutNameVector
vector of cut parameters names
Definition
TG4G3CutVector.h:83
TG4G3CutVector::fgkDCUTMOff
static const G4double fgkDCUTMOff
cut for delta rays by mu (if off)
Definition
TG4G3CutVector.h:77
TG4G3CutVector::CheckCutValue
static G4bool CheckCutValue(TG4G3Cut cut, G4double value)
Definition
TG4G3CutVector.cxx:75
TG4G3CutVector::fIsBDCut
std::array< G4bool, 4 > fIsBDCut
flag to prevent overwiting [B/D]CUT[E/M] cut if set by user
Definition
TG4G3CutVector.h:103
TG4G3CutVector::operator[]
G4double operator[](G4int index) const
Definition
TG4G3CutVector.cxx:179
TG4G3CutVector::GetMinEkineForGamma
G4double GetMinEkineForGamma(const G4Track &track) const
Definition
TG4G3CutVector.cxx:341
TG4G3CutVector::GetCutName
static const G4String & GetCutName(TG4G3Cut cut)
Definition
TG4G3CutVector.cxx:103
TG4G3CutVector::Format
G4String Format() const
Definition
TG4G3CutVector.cxx:296
TG4G3CutVector::GetMinEkineForMuon
G4double GetMinEkineForMuon(const G4Track &track) const
Definition
TG4G3CutVector.cxx:458
TG4G3CutVector::GetMinEkineForNeutralHadron
G4double GetMinEkineForNeutralHadron(const G4Track &track) const
Definition
TG4G3CutVector.cxx:449
TG4G3CutVector::fgkDCUTEOff
static const G4double fgkDCUTEOff
cut for delta rays by e- (if off)
Definition
TG4G3CutVector.h:74
TG4G3CutVector::Print
void Print() const
Definition
TG4G3CutVector.cxx:333
TG4G3CutVector::~TG4G3CutVector
~TG4G3CutVector()
Definition
TG4G3CutVector.cxx:143
TG4G3CutVector::fDeltaRaysOn
G4bool fDeltaRaysOn
delta rays process control
Definition
TG4G3CutVector.h:92
TG4G3CutVector::IsCut
G4bool IsCut() const
Definition
TG4G3CutVector.h:128
TG4G3CutVector::operator=
TG4G3CutVector & operator=(const TG4G3CutVector &right)
Definition
TG4G3CutVector.cxx:153
TG4G3CutVector::GetMinEkineForElectron
G4double GetMinEkineForElectron(const G4Track &track) const
Definition
TG4G3CutVector.cxx:386
TG4G3CutVector::FillCutNameVector
static void FillCutNameVector()
Definition
TG4G3CutVector.cxx:197
TG4G3CutVector::SetDeltaRaysOn
void SetDeltaRaysOn(G4bool value)
Definition
TG4G3CutVector.h:122
TG4G3CutVector::SetCut
void SetCut(TG4G3Cut cut, G4double cutValue)
Definition
TG4G3CutVector.cxx:220
TG4G3CutVector::fgkTolerance
static const G4double fgkTolerance
tolerance for comparing cuts
Definition
TG4G3CutVector.h:80
TG4StringVector
std::vector< G4String > TG4StringVector
Definition
TG4Globals.h:49
TG4doubleVector
std::vector< G4double > TG4doubleVector
Definition
TG4Globals.h:45
TG4G3Cut
TG4G3Cut
Enumeration for G3 types of kinetic energy cuts.
Definition
TG4G3Cut.h:22
Generated on
for Geant4 VMC by
1.17.0