BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
__w
bdsim
bdsim
include
BDSInterpolatorType.hh
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4
This file is part of BDSIM.
5
6
BDSIM is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published
8
by the Free Software Foundation version 3 of the License.
9
10
BDSIM is distributed in the hope that it will be useful, but
11
WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
#ifndef BDSINTERPOLATORTYPE_H
19
#define BDSINTERPOLATORTYPE_H
20
21
#include "BDSTypeSafeEnum.hh"
22
23
#include "globals.hh"
// geant4 types / globals
24
33
struct
interpolatortypes_def
34
{
35
enum
type
36
{
37
none,
38
nearestauto, linearauto, linearmagauto, cubicauto,
39
nearest1d, linear1d, linearmag1d, cubic1d,
40
nearest2d, linear2d, linearmag2d, cubic2d,
41
nearest3d, linear3d, linearmag3d, cubic3d,
42
nearest4d, linear4d, linearmag4d, cubic4d
43
};
44
};
45
46
typedef
BDSTypeSafeEnum<interpolatortypes_def,int>
BDSInterpolatorType
;
47
48
namespace
BDS
49
{
51
BDSInterpolatorType
DetermineInterpolatorType
(G4String interpolatorType);
52
54
G4int
NDimensionsOfInterpolatorType
(
const
BDSInterpolatorType
& it);
55
57
G4bool
InterpolatorTypeIsAuto
(
BDSInterpolatorType
typeIn);
58
61
BDSInterpolatorType
InterpolatorTypeSpecificFromAuto
(G4int nDimension,
62
BDSInterpolatorType
autoType);
63
}
64
65
#endif
BDSTypeSafeEnum
Improve type-safety of native enum data type in C++.
Definition
BDSTypeSafeEnum.hh:46
BDS
Return either G4Tubs or G4CutTubs depending on flat face.
Definition
BDSBunchHaloFlatSigma.cc:39
BDS::InterpolatorTypeSpecificFromAuto
BDSInterpolatorType InterpolatorTypeSpecificFromAuto(G4int nDimension, BDSInterpolatorType autoType)
Definition
BDSInterpolatorType.cc:145
BDS::InterpolatorTypeIsAuto
G4bool InterpolatorTypeIsAuto(BDSInterpolatorType typeIn)
Return true if the type is one containing 'auto'.
Definition
BDSInterpolatorType.cc:129
BDS::DetermineInterpolatorType
BDSInterpolatorType DetermineInterpolatorType(G4String interpolatorType)
Function that determines enum from string (case-insensitive).
Definition
BDSInterpolatorType.cc:56
BDS::NDimensionsOfInterpolatorType
G4int NDimensionsOfInterpolatorType(const BDSInterpolatorType &it)
Report the number of dimensions for that interpolator type.
Definition
BDSInterpolatorType.cc:98
interpolatortypes_def
Type definition for interpolator.
Definition
BDSInterpolatorType.hh:34
Generated on Thu Nov 12 2026 21:36:59 for BDSIM by
1.9.8