ATLAS Offline Software
Loading...
Searching...
No Matches
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
13{
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
146class IForwardRegionProperties : virtual public IAlgTool{
147
148public:
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
struct _FWDMg_CONFIGURATION FWDMg_CONFIGURATION
struct _FWDMg_CONFIGURATION * PFWDMg_CONFIGURATION
virtual void getMagTransforms(const std::string &, int, HepGeom::Point3D< double > &, HepGeom::Point3D< double > &, bool twiss=false)=0
virtual void getMagTransforms(const std::string &, int, HepGeom::Point3D< double > &, HepGeom::Point3D< double > &, double &, bool twiss=false)=0
virtual PFWDMg_CONFIGURATION getConf()=0
DeclareInterfaceID(IForwardRegionProperties, 1, 0)
Creates the InterfaceID and interfaceID() method.
std::vector< double > pointD1eEnd
std::vector< double > fD1aRotZ
std::vector< double > pointQ7aStart
std::vector< double > fQ6RotZ
std::vector< double > pointD1eStart
std::vector< double > fD2RotZ
std::vector< double > pointD2Start
std::vector< double > pointQ2aStart
std::vector< double > pointQ1End
std::vector< double > pointQ7bEnd
std::vector< double > pointD1fStart
std::vector< double > pointQ4Start
std::vector< double > fQ7aRotZ
std::vector< double > pointQ2bStart
std::vector< double > pointD1cEnd
std::vector< double > fD1fRotZ
std::vector< double > fD1eRotZ
std::vector< double > pointQ2aEnd
std::vector< double > fQ2bRotZ
std::vector< double > pointQ1Start
std::vector< double > pointQ7aEnd
std::vector< double > pointQ6End
std::vector< double > pointD1aStart
std::vector< double > pointD1fEnd
std::vector< double > pointQ3End
std::vector< double > pointD1bEnd
std::vector< double > pointD2End
std::vector< double > pointQ6Start
std::vector< double > pointQ3Start
std::vector< double > fD1dRotZ
std::vector< double > fQ3RotZ
std::vector< double > pointQ4End
std::vector< double > pointD1dStart
std::vector< double > fQ4RotZ
std::vector< double > fQ1RotZ
std::vector< double > pointQ7bStart
std::vector< double > pointD1aEnd
std::vector< double > pointD1dEnd
std::vector< double > fQ7bRotZ
std::vector< double > fQ2aRotZ
std::vector< double > fD1bRotZ
std::vector< double > pointQ5End
std::vector< double > pointQ2bEnd
std::vector< double > pointD1bStart
std::vector< double > pointQ5Start
std::vector< double > pointD1cStart
std::vector< double > fQ5RotZ
std::vector< double > fD1cRotZ