ATLAS Offline Software
IForwardRegionProperties.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IForwardRegionProperties_H
6 #define IForwardRegionProperties_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 
10 #include "CLHEP/Geometry/Point3D.h"
11 
12 typedef struct _FWDMg_CONFIGURATION
13 {
14  std::string twissFileB1, twissFileB2;
15  double momentum;
16 
17  std::vector<double> pointQ1Start;
18  std::vector<double> pointQ2aStart;
19  std::vector<double> pointQ2bStart;
20  std::vector<double> pointQ3Start;
21  std::vector<double> pointQ4Start;
22  std::vector<double> pointQ5Start;
23  std::vector<double> pointQ6Start;
24  std::vector<double> pointQ7aStart;
25  std::vector<double> pointQ7bStart;
26  std::vector<double> pointD1aStart;
27  std::vector<double> pointD1bStart;
28  std::vector<double> pointD1cStart;
29  std::vector<double> pointD1dStart;
30  std::vector<double> pointD1eStart;
31  std::vector<double> pointD1fStart;
32  std::vector<double> pointD2Start;
33 
34  std::vector<double> pointQ1End;
35  std::vector<double> pointQ2aEnd;
36  std::vector<double> pointQ2bEnd;
37  std::vector<double> pointQ3End;
38  std::vector<double> pointQ4End;
39  std::vector<double> pointQ5End;
40  std::vector<double> pointQ6End;
41  std::vector<double> pointQ7aEnd;
42  std::vector<double> pointQ7bEnd;
43  std::vector<double> pointD1aEnd;
44  std::vector<double> pointD1bEnd;
45  std::vector<double> pointD1cEnd;
46  std::vector<double> pointD1dEnd;
47  std::vector<double> pointD1eEnd;
48  std::vector<double> pointD1fEnd;
49  std::vector<double> pointD2End;
50 
51  std::vector<double> fQ1RotZ;
52  std::vector<double> fQ2aRotZ;
53  std::vector<double> fQ2bRotZ;
54  std::vector<double> fQ3RotZ;
55  std::vector<double> fQ4RotZ;
56  std::vector<double> fQ5RotZ;
57  std::vector<double> fQ6RotZ;
58  std::vector<double> fQ7aRotZ;
59  std::vector<double> fQ7bRotZ;
60  std::vector<double> fD1aRotZ;
61  std::vector<double> fD1bRotZ;
62  std::vector<double> fD1cRotZ;
63  std::vector<double> fD1dRotZ;
64  std::vector<double> fD1eRotZ;
65  std::vector<double> fD1fRotZ;
66  std::vector<double> fD2RotZ;
67 
69 
70 
71 
72  void clear()
73  {
74  twissFileB1 = "";
75  twissFileB2 = "";
76  momentum = 0;
77 
78  pointQ1Start.assign(6, 0.0);
79  pointQ1End.assign(6, 0.0);
80  fQ1RotZ.assign(2, 0.0);
81 
82  pointQ2aStart.assign(6, 0.0);
83  pointQ2aEnd.assign(6, 0.0);
84  fQ2aRotZ.assign(2, 0.0);
85 
86  pointQ2bStart.assign(6, 0.0);
87  pointQ2bEnd.assign(6, 0.0);
88  fQ2bRotZ.assign(2, 0.0);
89 
90  pointQ3Start.assign(6, 0.0);
91  pointQ3End.assign(6, 0.0);
92  fQ3RotZ.assign(2, 0.0);
93 
94  pointQ4Start.assign(6, 0.0);
95  pointQ4End.assign(6, 0.0);
96  fQ4RotZ.assign(2, 0.0);
97 
98  pointQ5Start.assign(6, 0.0);
99  pointQ5End.assign(6, 0.0);
100  fQ5RotZ.assign(2, 0.0);
101 
102  pointQ6Start.assign(6, 0.0);
103  pointQ6End.assign(6, 0.0);
104  fQ6RotZ.assign(2, 0.0);
105 
106  pointQ7aStart.assign(6, 0.0);
107  pointQ7aEnd.assign(6, 0.0);
108  fQ7aRotZ.assign(2, 0.0);
109 
110  pointQ7bStart.assign(6, 0.0);
111  pointQ7bEnd.assign(6, 0.0);
112  fQ7bRotZ.assign(2, 0.0);
113 
114  pointD1aStart.assign(6, 0.0);
115  pointD1aEnd.assign(6, 0.0);
116  fD1aRotZ.assign(2, 0.0);
117 
118  pointD1bStart.assign(6, 0.0);
119  pointD1bEnd.assign(6, 0.0);
120  fD1bRotZ.assign(2, 0.0);
121 
122  pointD1cStart.assign(6, 0.0);
123  pointD1cEnd.assign(6, 0.0);
124  fD1cRotZ.assign(2, 0.0);
125 
126  pointD1dStart.assign(6, 0.0);
127  pointD1dEnd.assign(6, 0.0);
128  fD1dRotZ.assign(2, 0.0);
129 
130  pointD1eStart.assign(6, 0.0);
131  pointD1eEnd.assign(6, 0.0);
132  fD1eRotZ.assign(2, 0.0);
133 
134  pointD1fStart.assign(6, 0.0);
135  pointD1fEnd.assign(6, 0.0);
136  fD1fRotZ.assign(2, 0.0);
137 
138  pointD2Start.assign(6, 0.0);
139  pointD2End.assign(6, 0.0);
140  fD2RotZ.assign(2, 0.0);
141 
143  }
145 
146 class IForwardRegionProperties : virtual public IAlgTool{
147 
148 public:
151 
153  virtual void getMagTransforms(const std::string&, int, HepGeom::Point3D<double>&, HepGeom::Point3D<double>&, double&, bool twiss = false)=0;
154  virtual void getMagTransforms(const std::string&, int, HepGeom::Point3D<double>&, HepGeom::Point3D<double>&, bool twiss = false)=0;
155 };
156 
157 #endif
_FWDMg_CONFIGURATION::pointD1aStart
std::vector< double > pointD1aStart
Definition: IForwardRegionProperties.h:26
_FWDMg_CONFIGURATION::fQ6RotZ
std::vector< double > fQ6RotZ
Definition: IForwardRegionProperties.h:57
_FWDMg_CONFIGURATION::pointD1fEnd
std::vector< double > pointD1fEnd
Definition: IForwardRegionProperties.h:48
_FWDMg_CONFIGURATION::twissFileB1
std::string twissFileB1
Definition: IForwardRegionProperties.h:14
_FWDMg_CONFIGURATION::pointD1bEnd
std::vector< double > pointD1bEnd
Definition: IForwardRegionProperties.h:44
_FWDMg_CONFIGURATION::pointD1aEnd
std::vector< double > pointD1aEnd
Definition: IForwardRegionProperties.h:43
IForwardRegionProperties::getMagTransforms
virtual void getMagTransforms(const std::string &, int, HepGeom::Point3D< double > &, HepGeom::Point3D< double > &, bool twiss=false)=0
_FWDMg_CONFIGURATION::fQ1RotZ
std::vector< double > fQ1RotZ
Definition: IForwardRegionProperties.h:51
_FWDMg_CONFIGURATION::pointQ2bEnd
std::vector< double > pointQ2bEnd
Definition: IForwardRegionProperties.h:36
IForwardRegionProperties::getConf
virtual PFWDMg_CONFIGURATION getConf()=0
_FWDMg_CONFIGURATION::pointD1dEnd
std::vector< double > pointD1dEnd
Definition: IForwardRegionProperties.h:46
IForwardRegionProperties
Definition: IForwardRegionProperties.h:146
_FWDMg_CONFIGURATION::pointQ1Start
std::vector< double > pointQ1Start
Definition: IForwardRegionProperties.h:17
_FWDMg_CONFIGURATION::pointD2Start
std::vector< double > pointD2Start
Definition: IForwardRegionProperties.h:32
_FWDMg_CONFIGURATION::fD2RotZ
std::vector< double > fD2RotZ
Definition: IForwardRegionProperties.h:66
_FWDMg_CONFIGURATION::fD1fRotZ
std::vector< double > fD1fRotZ
Definition: IForwardRegionProperties.h:65
_FWDMg_CONFIGURATION::fQ7aRotZ
std::vector< double > fQ7aRotZ
Definition: IForwardRegionProperties.h:58
_FWDMg_CONFIGURATION::pointQ4End
std::vector< double > pointQ4End
Definition: IForwardRegionProperties.h:38
_FWDMg_CONFIGURATION::fD1bRotZ
std::vector< double > fD1bRotZ
Definition: IForwardRegionProperties.h:61
_FWDMg_CONFIGURATION::pointQ7bStart
std::vector< double > pointQ7bStart
Definition: IForwardRegionProperties.h:25
_FWDMg_CONFIGURATION::fQ4RotZ
std::vector< double > fQ4RotZ
Definition: IForwardRegionProperties.h:55
_FWDMg_CONFIGURATION::fQ2bRotZ
std::vector< double > fQ2bRotZ
Definition: IForwardRegionProperties.h:53
_FWDMg_CONFIGURATION::pointQ7bEnd
std::vector< double > pointQ7bEnd
Definition: IForwardRegionProperties.h:42
_FWDMg_CONFIGURATION::pointD1cStart
std::vector< double > pointD1cStart
Definition: IForwardRegionProperties.h:28
_FWDMg_CONFIGURATION
Definition: IForwardRegionProperties.h:13
_FWDMg_CONFIGURATION::pointD1dStart
std::vector< double > pointD1dStart
Definition: IForwardRegionProperties.h:29
PFWDMg_CONFIGURATION
struct _FWDMg_CONFIGURATION * PFWDMg_CONFIGURATION
_FWDMg_CONFIGURATION::pointQ6End
std::vector< double > pointQ6End
Definition: IForwardRegionProperties.h:40
_FWDMg_CONFIGURATION::pointQ7aStart
std::vector< double > pointQ7aStart
Definition: IForwardRegionProperties.h:24
_FWDMg_CONFIGURATION::fQ2aRotZ
std::vector< double > fQ2aRotZ
Definition: IForwardRegionProperties.h:52
_FWDMg_CONFIGURATION::pointQ5Start
std::vector< double > pointQ5Start
Definition: IForwardRegionProperties.h:22
_FWDMg_CONFIGURATION::pointD1eStart
std::vector< double > pointD1eStart
Definition: IForwardRegionProperties.h:30
_FWDMg_CONFIGURATION::fD1dRotZ
std::vector< double > fD1dRotZ
Definition: IForwardRegionProperties.h:63
_FWDMg_CONFIGURATION::clear
void clear()
Definition: IForwardRegionProperties.h:72
_FWDMg_CONFIGURATION::fQ3RotZ
std::vector< double > fQ3RotZ
Definition: IForwardRegionProperties.h:54
_FWDMg_CONFIGURATION::momentum
double momentum
Definition: IForwardRegionProperties.h:15
_FWDMg_CONFIGURATION::pointQ1End
std::vector< double > pointQ1End
Definition: IForwardRegionProperties.h:34
_FWDMg_CONFIGURATION::fD1cRotZ
std::vector< double > fD1cRotZ
Definition: IForwardRegionProperties.h:62
_FWDMg_CONFIGURATION::fD1eRotZ
std::vector< double > fD1eRotZ
Definition: IForwardRegionProperties.h:64
FWDMg_CONFIGURATION
struct _FWDMg_CONFIGURATION FWDMg_CONFIGURATION
_FWDMg_CONFIGURATION::pointQ3End
std::vector< double > pointQ3End
Definition: IForwardRegionProperties.h:37
_FWDMg_CONFIGURATION::pointQ3Start
std::vector< double > pointQ3Start
Definition: IForwardRegionProperties.h:20
_FWDMg_CONFIGURATION::pointQ2aStart
std::vector< double > pointQ2aStart
Definition: IForwardRegionProperties.h:18
_FWDMg_CONFIGURATION::pointD1cEnd
std::vector< double > pointD1cEnd
Definition: IForwardRegionProperties.h:45
_FWDMg_CONFIGURATION::pointQ2aEnd
std::vector< double > pointQ2aEnd
Definition: IForwardRegionProperties.h:35
_FWDMg_CONFIGURATION::pointQ2bStart
std::vector< double > pointQ2bStart
Definition: IForwardRegionProperties.h:19
_FWDMg_CONFIGURATION::pointQ4Start
std::vector< double > pointQ4Start
Definition: IForwardRegionProperties.h:21
_FWDMg_CONFIGURATION::pointQ6Start
std::vector< double > pointQ6Start
Definition: IForwardRegionProperties.h:23
_FWDMg_CONFIGURATION::bUseFLUKAMapsForInnerTriplet
bool bUseFLUKAMapsForInnerTriplet
Definition: IForwardRegionProperties.h:68
_FWDMg_CONFIGURATION::twissFileB2
std::string twissFileB2
Definition: IForwardRegionProperties.h:14
IForwardRegionProperties::getMagTransforms
virtual void getMagTransforms(const std::string &, int, HepGeom::Point3D< double > &, HepGeom::Point3D< double > &, double &, bool twiss=false)=0
IForwardRegionProperties::DeclareInterfaceID
DeclareInterfaceID(IForwardRegionProperties, 1, 0)
Creates the InterfaceID and interfaceID() method.
_FWDMg_CONFIGURATION::fD1aRotZ
std::vector< double > fD1aRotZ
Definition: IForwardRegionProperties.h:60
_FWDMg_CONFIGURATION::pointQ5End
std::vector< double > pointQ5End
Definition: IForwardRegionProperties.h:39
_FWDMg_CONFIGURATION::fQ7bRotZ
std::vector< double > fQ7bRotZ
Definition: IForwardRegionProperties.h:59
_FWDMg_CONFIGURATION::pointD1fStart
std::vector< double > pointD1fStart
Definition: IForwardRegionProperties.h:31
_FWDMg_CONFIGURATION::fQ5RotZ
std::vector< double > fQ5RotZ
Definition: IForwardRegionProperties.h:56
_FWDMg_CONFIGURATION::pointQ7aEnd
std::vector< double > pointQ7aEnd
Definition: IForwardRegionProperties.h:41
_FWDMg_CONFIGURATION::pointD2End
std::vector< double > pointD2End
Definition: IForwardRegionProperties.h:49
_FWDMg_CONFIGURATION::pointD1bStart
std::vector< double > pointD1bStart
Definition: IForwardRegionProperties.h:27
_FWDMg_CONFIGURATION::pointD1eEnd
std::vector< double > pointD1eEnd
Definition: IForwardRegionProperties.h:47