BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
elementtype.h
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3University of London 2001 - 2023.
4
5This file is part of BDSIM.
6
7BDSIM is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published
9by the Free Software Foundation version 3 of the License.
10
11BDSIM is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18*/
19#ifndef ELEMENTTYPE_H
20#define ELEMENTTYPE_H
21
22#include <ostream>
23#include <string>
24
25namespace GMAD
26{
28 enum class ElementType {
29 _NONE = -1,
30 _MARKER = 1,
31 _DRIFT = 2,
32 _RF = 3,
33 _SBEND = 4,
34 _QUAD = 5,
35 _SEXTUPOLE = 6,
36 _OCTUPOLE = 7,
37 _DECAPOLE = 8,
38 _MULT = 9,
39 _SOLENOID = 10,
40 _LINE = 11,
41 _REV_LINE = -11, //for line inversion in sublines
42 // = 12,
43 _ECOL = 13,
44 _RCOL = 14,
45 _LASER = 15,
46 _MATERIAL = 16,
47 _RBEND = 17,
48 // = 18,
49 // = 19,
50 _ELEMENT = 20,
51 _SCREEN = 21,
52 _AWAKESCREEN = 22,
53 _AWAKESPECTROMETER = 23,
54 _SHIELD = 24,
55 _VKICKER = 31,
56 _HKICKER = 32,
57 _KICKER = 33,
58 _TKICKER = 34,
59 _TRANSFORM3D = 61,
60 _MUONSPOILER = 62,
61 _DEGRADER = 63,
62 _THINMULT = 64,
63 _GAP = 65,
64 _THINRMATRIX = 66,
65 _PARALLELTRANSPORTER = 67,
66 _RMATRIX = 68,
67 _CRYSTALCOL = 69,
68 _UNDULATOR = 70,
69 _JCOL = 71,
70 _WIRESCANNER = 72,
71 _USERCOMPONENT = 73,
72 _DUMP = 74,
73 _CT = 75,
74 _TARGET = 76,
75 _RFX = 77,
76 _RFY = 78
77 };
78
80 std::string typestr(ElementType type);
81
83 std::ostream& operator << (std::ostream& out, ElementType type);
84}
85
86#endif
Parser namespace for GMAD language. Combination of Geant4 and MAD.
ElementType
types of elements
Definition: elementtype.h:28
std::ostream & operator<<(std::ostream &out, ElementType type)
output operator
Definition: elementtype.cc:24
std::string typestr(ElementType type)
conversion from enum to string
Definition: elementtype.cc:29