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