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