EGSnrc C++ class library
Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Coding Examples
File List
File Members
egs++
egs_geometry_tester.h
Go to the documentation of this file.
1
/*
2
###############################################################################
3
#
4
# EGSnrc egs++ geometry tester headers
5
# Copyright (C) 2015 National Research Council Canada
6
#
7
# This file is part of EGSnrc.
8
#
9
# EGSnrc is free software: you can redistribute it and/or modify it under
10
# the terms of the GNU Affero General Public License as published by the
11
# Free Software Foundation, either version 3 of the License, or (at your
12
# option) any later version.
13
#
14
# EGSnrc is distributed in the hope that it will be useful, but WITHOUT ANY
15
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
17
# more details.
18
#
19
# You should have received a copy of the GNU Affero General Public License
20
# along with EGSnrc. If not, see <http://www.gnu.org/licenses/>.
21
#
22
###############################################################################
23
#
24
# Author: Iwan Kawrakow, 2005
25
#
26
# Contributors:
27
#
28
###############################################################################
29
*/
30
31
37
#ifndef EGS_GEOMETRY_TESTER_
38
#define EGS_GEOMETRY_TESTER_
39
40
#include "
egs_libconfig.h
"
41
42
class
EGS_Input
;
43
class
EGS_Vector
;
44
class
EGS_PrivateTester;
45
class
EGS_BaseGeometry
;
46
77
class
EGS_EXPORT
EGS_GeometryTester
{
78
79
public
:
80
82
EGS_GeometryTester
(
EGS_Input
*);
83
85
virtual
~
EGS_GeometryTester
();
86
115
void
testInside(
EGS_BaseGeometry
*g);
116
128
void
testInsideTime(
EGS_BaseGeometry
*);
129
144
void
testHownear(
int
ntry,
EGS_BaseGeometry
*g);
145
156
void
testHownearTime(
EGS_BaseGeometry
*);
157
172
void
testHowfar(
EGS_BaseGeometry
*);
173
185
void
testHowfarTime(
EGS_BaseGeometry
*);
186
196
virtual
void
printPosition(
const
EGS_Vector
&x);
197
248
static
EGS_GeometryTester
*getGeometryTester(
EGS_Input
*i);
249
250
protected
:
251
252
EGS_PrivateTester *
p
;
253
254
};
255
256
257
#endif
EGS_EXPORT
#define EGS_EXPORT
Export symbols from the egspp library.
Definition:
egs_libconfig.h:90
EGS_GeometryTester
A class for testing geometries.
Definition:
egs_geometry_tester.h:77
EGS_GeometryTester::p
EGS_PrivateTester * p
Hides the implementation details.
Definition:
egs_geometry_tester.h:252
EGS_Vector
A class representing 3D vectors.
Definition:
egs_vector.h:56
EGS_BaseGeometry
Base geometry class. Every geometry class must be derived from EGS_BaseGeometry.
Definition:
egs_base_geometry.h:93
EGS_Input
A class for storing information in a tree-like structure of key-value pairs. This class is used throu...
Definition:
egs_input.h:182
egs_libconfig.h
Defines the EGS_EXPORT and EGS_LOCAL macros.
Generated by
1.8.5