ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4TrajectoryFilterFactories.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4TrajectoryFilterFactories.cc
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
//
28
// Trajectory filter model factories creating filters
29
// and associated messengers.
30
//
31
// Jane Tinslay March 2006
32
//
33
#include "
G4AttributeFilterT.hh
"
34
#include "
G4ModelCommandsT.hh
"
35
#include "
G4TrajectoryFilterFactories.hh
"
36
#include "
G4TrajectoryChargeFilter.hh
"
37
#include "
G4TrajectoryParticleFilter.hh
"
38
#include "
G4TrajectoryOriginVolumeFilter.hh
"
39
#include "
G4TrajectoryEncounteredVolumeFilter.hh
"
40
41
// Attribute filter
42
G4TrajectoryAttributeFilterFactory::G4TrajectoryAttributeFilterFactory
()
43
:
G4VModelFactory
<
G4VFilter
<
G4VTrajectory
> >(
"attributeFilter"
)
44
{}
45
46
G4TrajectoryAttributeFilterFactory::~G4TrajectoryAttributeFilterFactory
() {}
47
48
G4TrajectoryAttributeFilterFactory::ModelAndMessengers
49
G4TrajectoryAttributeFilterFactory::Create
(
const
G4String
& placement,
const
G4String
&
name
)
50
{
51
typedef
G4AttributeFilterT<G4VTrajectory>
G4TrajectoryAttributeFilter;
52
// Create model
53
G4TrajectoryAttributeFilter*
model
=
new
G4TrajectoryAttributeFilter(name);
54
55
// Create associated messengers
56
Messengers
messengers;
57
58
messengers.push_back(
new
G4ModelCmdSetString<G4TrajectoryAttributeFilter>
(model, placement,
"setAttribute"
));
59
messengers.push_back(
new
G4ModelCmdInvert<G4TrajectoryAttributeFilter>
(model, placement));
60
messengers.push_back(
new
G4ModelCmdActive<G4TrajectoryAttributeFilter>
(model, placement));
61
messengers.push_back(
new
G4ModelCmdVerbose<G4TrajectoryAttributeFilter>
(model, placement));
62
messengers.push_back(
new
G4ModelCmdReset<G4TrajectoryAttributeFilter>
(model, placement));
63
messengers.push_back(
new
G4ModelCmdAddInterval<G4TrajectoryAttributeFilter>
(model, placement,
"addInterval"
));
64
messengers.push_back(
new
G4ModelCmdAddValue<G4TrajectoryAttributeFilter>
(model, placement,
"addValue"
));
65
66
return
ModelAndMessengers
(model, messengers);
67
}
68
69
// Charge filter
70
G4TrajectoryChargeFilterFactory::G4TrajectoryChargeFilterFactory
()
71
:
G4VModelFactory
<
G4VFilter
<
G4VTrajectory
> >(
"chargeFilter"
)
72
{}
73
74
G4TrajectoryChargeFilterFactory::~G4TrajectoryChargeFilterFactory
() {}
75
76
G4TrajectoryChargeFilterFactory::ModelAndMessengers
77
G4TrajectoryChargeFilterFactory::Create
(
const
G4String
& placement,
const
G4String
&
name
)
78
{
79
// Create model
80
G4TrajectoryChargeFilter
*
model
=
new
G4TrajectoryChargeFilter
(name);
81
82
// Create associated messengers
83
Messengers
messengers;
84
85
messengers.push_back(
new
G4ModelCmdAddString<G4TrajectoryChargeFilter>
(model, placement));
86
messengers.push_back(
new
G4ModelCmdInvert<G4TrajectoryChargeFilter>
(model, placement));
87
messengers.push_back(
new
G4ModelCmdActive<G4TrajectoryChargeFilter>
(model, placement));
88
messengers.push_back(
new
G4ModelCmdVerbose<G4TrajectoryChargeFilter>
(model, placement));
89
messengers.push_back(
new
G4ModelCmdReset<G4TrajectoryChargeFilter>
(model, placement));
90
91
return
ModelAndMessengers
(model, messengers);
92
}
93
94
// Particle type filter
95
G4TrajectoryParticleFilterFactory::G4TrajectoryParticleFilterFactory
()
96
:
G4VModelFactory
<
G4VFilter
<
G4VTrajectory
> >(
"particleFilter"
)
97
{}
98
99
G4TrajectoryParticleFilterFactory::~G4TrajectoryParticleFilterFactory
() {}
100
101
G4TrajectoryParticleFilterFactory::ModelAndMessengers
102
G4TrajectoryParticleFilterFactory::Create
(
const
G4String
& placement,
const
G4String
&
name
)
103
{
104
// Create model
105
G4TrajectoryParticleFilter
*
model
=
new
G4TrajectoryParticleFilter
(name);
106
107
// Create associated messengers
108
Messengers
messengers;
109
110
messengers.push_back(
new
G4ModelCmdAddString<G4TrajectoryParticleFilter>
(model, placement));
111
messengers.push_back(
new
G4ModelCmdInvert<G4TrajectoryParticleFilter>
(model, placement));
112
messengers.push_back(
new
G4ModelCmdActive<G4TrajectoryParticleFilter>
(model, placement));
113
messengers.push_back(
new
G4ModelCmdVerbose<G4TrajectoryParticleFilter>
(model, placement));
114
messengers.push_back(
new
G4ModelCmdReset<G4TrajectoryParticleFilter>
(model, placement));
115
116
return
ModelAndMessengers
(model, messengers);
117
}
118
119
// Origin volume filter
120
G4TrajectoryOriginVolumeFilterFactory::G4TrajectoryOriginVolumeFilterFactory
()
121
:
G4VModelFactory
<
G4VFilter
<
G4VTrajectory
> >(
"originVolumeFilter"
)
122
{}
123
124
G4TrajectoryOriginVolumeFilterFactory::~G4TrajectoryOriginVolumeFilterFactory
() {}
125
126
G4TrajectoryOriginVolumeFilterFactory::ModelAndMessengers
127
G4TrajectoryOriginVolumeFilterFactory::Create
(
const
G4String
& placement,
const
G4String
&
name
)
128
{
129
// Create model
130
G4TrajectoryOriginVolumeFilter
*
model
=
new
G4TrajectoryOriginVolumeFilter
(name);
131
132
// Create associated messengers
133
Messengers
messengers;
134
135
messengers.push_back(
new
G4ModelCmdAddString<G4TrajectoryOriginVolumeFilter>
(model, placement));
136
messengers.push_back(
new
G4ModelCmdInvert<G4TrajectoryOriginVolumeFilter>
(model, placement));
137
messengers.push_back(
new
G4ModelCmdActive<G4TrajectoryOriginVolumeFilter>
(model, placement));
138
messengers.push_back(
new
G4ModelCmdVerbose<G4TrajectoryOriginVolumeFilter>
(model, placement));
139
messengers.push_back(
new
G4ModelCmdReset<G4TrajectoryOriginVolumeFilter>
(model, placement));
140
141
return
ModelAndMessengers
(model, messengers);
142
}
143
144
// Encountered volume filter
145
G4TrajectoryEncounteredVolumeFilterFactory::G4TrajectoryEncounteredVolumeFilterFactory
()
146
:
G4VModelFactory
<
G4VFilter
<
G4VTrajectory
> >(
"encounteredVolumeFilter"
)
147
{}
148
149
G4TrajectoryEncounteredVolumeFilterFactory::~G4TrajectoryEncounteredVolumeFilterFactory
() {}
150
151
G4TrajectoryEncounteredVolumeFilterFactory::ModelAndMessengers
152
G4TrajectoryEncounteredVolumeFilterFactory::Create
(
const
G4String
& placement,
const
G4String
&
name
)
153
{
154
// Create model
155
G4TrajectoryEncounteredVolumeFilter
*
model
=
new
G4TrajectoryEncounteredVolumeFilter
(name);
156
157
// Create associated messengers
158
Messengers
messengers;
159
160
messengers.push_back(
new
G4ModelCmdAddString<G4TrajectoryEncounteredVolumeFilter>
(model, placement));
161
messengers.push_back(
new
G4ModelCmdInvert<G4TrajectoryEncounteredVolumeFilter>
(model, placement));
162
messengers.push_back(
new
G4ModelCmdActive<G4TrajectoryEncounteredVolumeFilter>
(model, placement));
163
messengers.push_back(
new
G4ModelCmdVerbose<G4TrajectoryEncounteredVolumeFilter>
(model, placement));
164
messengers.push_back(
new
G4ModelCmdReset<G4TrajectoryEncounteredVolumeFilter>
(model, placement));
165
166
return
ModelAndMessengers
(model, messengers);
167
}
geant4
tree
geant4-10.6-release
source
visualization
modeling
src
G4TrajectoryFilterFactories.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:56
using
1.8.2 with
ECCE GitHub integration