BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
__w
bdsim
bdsim
include
BDSMagnetType.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 BDSMAGNETTYPE_H
20
#define BDSMAGNETTYPE_H
21
22
#include "BDSTypeSafeEnum.hh"
23
#include <map>
24
32
struct
magnettypes_def
33
{
34
enum
type { decapole, hkicker, vkicker, muonspoiler, octupole, quadrupole,
35
sectorbend, rectangularbend, rfcavity, sextupole, undulator,
36
solenoid, multipole, thinmultipole, dipolefringe, rmatrix, paralleltransporter};
37
};
38
39
typedef
BDSTypeSafeEnum<magnettypes_def,int>
BDSMagnetType
;
40
41
#endif
BDSTypeSafeEnum
Improve type-safety of native enum data type in C++.
Definition
BDSTypeSafeEnum.hh:47
magnettypes_def
Type definition for everything that inherits BDSMagnet - ie is a magnet.
Definition
BDSMagnetType.hh:33
Generated on Sat Oct 18 2025 18:31:04 for BDSIM by
1.9.8