9#include <top/dbobjects/TOPGeoQBB.h>
23 typedef std::pair<double, double>
Pair;
24 std::vector<Pair> contour;
33 contour.push_back(
Pair(-x1, y2));
34 contour.push_back(
Pair(-x3, y1));
35 contour.push_back(
Pair(x3, y1));
36 contour.push_back(
Pair(x1, y2));
37 contour.push_back(
Pair(x1, y3));
38 contour.push_back(
Pair(x2, y4));
39 contour.push_back(
Pair(-x2, y4));
40 contour.push_back(
Pair(-x1, y3));
48 cout <<
"Forward contour [" <<
s_unitName <<
"]:" << endl;
49 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
56 typedef std::pair<double, double>
Pair;
57 std::vector<Pair> contour;
62 contour.push_back(
Pair(-x1, y1));
63 contour.push_back(
Pair(x1, y1));
64 contour.push_back(
Pair(x1, y2));
66 contour.push_back(
Pair(-x1, y2));
74 cout <<
"Inner panel contour [" <<
s_unitName <<
"]:" << endl;
75 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
82 typedef std::pair<double, double>
Pair;
83 std::vector<Pair> contour;
88 contour.push_back(
Pair(-x1, y2));
90 contour.push_back(
Pair(x1, y2));
91 contour.push_back(
Pair(x1, y1));
92 contour.push_back(
Pair(-x1, y1));
100 cout <<
"Outer panel contour [" <<
s_unitName <<
"]:" << endl;
101 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
108 typedef std::pair<double, double>
Pair;
109 std::vector<Pair> contour;
118 contour.push_back(
Pair(-x1, y2));
119 contour.push_back(
Pair(-x3, y1));
120 contour.push_back(
Pair(x3, y1));
121 contour.push_back(
Pair(x1, y2));
122 contour.push_back(
Pair(x1, y3));
123 contour.push_back(
Pair(x2, y4));
124 contour.push_back(
Pair(-x2, y4));
125 contour.push_back(
Pair(-x1, y3));
133 cout <<
"Backward contour [" <<
s_unitName <<
"]:" << endl;
134 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
141 typedef std::pair<double, double>
Pair;
142 std::vector<Pair> contour;
153 contour.push_back(
Pair(x1, y1));
154 contour.push_back(
Pair(x2, y2));
155 contour.push_back(
Pair(-x2, y2));
156 contour.push_back(
Pair(-x1, y1));
157 contour.push_back(
Pair(-x3, y1));
158 contour.push_back(
Pair(-x4, y3));
159 contour.push_back(
Pair(x4, y3));
160 contour.push_back(
Pair(x3, y1));
168 cout <<
"Prism enclosure contour [" <<
s_unitName <<
"]:" << endl;
169 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
176 typedef std::pair<double, double>
Pair;
177 std::vector<Pair> contour;
184 contour.push_back(
Pair(-x1, y1));
185 contour.push_back(
Pair(x1, y1));
186 contour.push_back(
Pair(x1, y2));
187 contour.push_back(
Pair(x2, y3));
188 contour.push_back(
Pair(-x2, y3));
189 contour.push_back(
Pair(-x1, y2));
197 cout <<
"Prism enclosure back plate contour [" <<
s_unitName <<
"]:" << endl;
198 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
205 typedef std::pair<double, double>
Pair;
206 std::vector<Pair> contour;
213 contour.push_back(
Pair(x1, y2));
214 contour.push_back(
Pair(x2, y3));
215 contour.push_back(
Pair(-x2, y3));
216 contour.push_back(
Pair(-x1, y2));
224 cout <<
"Prism enclosure front plate contour [" <<
s_unitName <<
"]:" << endl;
225 for (
auto& xy : contour) cout << xy.first <<
" " << xy.second << endl;
232 if (
m_width <= 0)
return false;
253 cout <<
", inside material = " <<
getMaterial() << endl;
double getMaxThickness() const
Returns panel maximal thickness.
double getMinThickness() const
Returns panel minimal thickness.
double getY() const
Returns y position of the flat surface in local (bar) frame.
double getHeight() const
Returns height up to the side rails.
double getAngle() const
Returns angle of side wall.
double getBottomThickness() const
Returns bottom thickness.
double getSideThickness() const
Returns side wall thickness.
double getWidth() const
Returns full width.
TOPGeoPrismEnclosure m_prismEnclosure
prism enclosure
std::string m_material
material inside QBB
TOPGeoHoneycombPanel m_outerPanel
outer honeycomb panel
TOPGeoSideRails m_sideRails
side rails
float m_prismPosition
position of prism-bar joint wrt QBB back
TOPGeoHoneycombPanel m_innerPanel
inner honeycomb panel
TOPGeoEndPlate m_endPlate
forward end plate
double getPrismPosition() const
Returns the position of prism-bar joint wrt QBB back.
TOPGeoColdPlate m_coldPlate
cold plate
const std::string & getMaterial() const
Returns the name of material inside QBB.
float m_length
full length
double getLength() const
Returns full length.
double getPanelWidth() const
Returns panel width used in x-y contours of honeycomb panels.
double getHeight() const
Returns height.
double getThickness() const
Returns thickness.
void printPrismEnclosureContour() const
Print prism enclosure contour (polygon) - for debugging.
std::vector< std::pair< double, double > > getBackPlateContour() const
Returns prism enclosure back plate x-y contour.
bool isConsistent() const override
Check for consistency of data members.
std::vector< std::pair< double, double > > getPrismEnclosureContour() const
Returns prism enclosure wall x-y contour.
void printUnderlined(const std::string &title) const
Print the content of the class.
void printInnerPanelContour() const
Print inner honeycomb panel contour (polygon) - for debugging.
void printBackwardContour() const
Print backward contour (polygon) - for debugging.
void appendContour(std::vector< std::pair< double, double > > &contour, double y0, bool fromLeftToRight) const
Appends curved surface to contour.
virtual void print(const std::string &title="QBB side rails geometry parameters") const override
Print the content of the class.
void printOuterPanelContour() const
Print outer honeycomb panel contour (polygon) - for debugging.
virtual void print(const std::string &title="QBB forward end plate geometry parameters") const override
Print the content of the class.
virtual void print(const std::string &title="QBB geometry parameters") const override
Print the content of the class.
virtual void print(const std::string &title="QBB honeycomb panel geometry parameters") const override
Print the content of the class.
virtual void print(const std::string &title="QBB prism enclosure geometry parameters") const override
Print the content of the class.
std::vector< std::pair< double, double > > getFrontPlateContour() const
Returns prism enclosure front plate x-y contour.
void printFrontPlateContour() const
Print prism enclosure front plate contour (polygon) - for debugging.
std::vector< std::pair< double, double > > getOuterPanelContour() const
Returns outer honeycomb panel x-y contour.
void printForwardContour() const
Print forward contour (polygon) - for debugging.
std::vector< std::pair< double, double > > getForwardContour() const
Returns forward x-y contour.
std::pair< double, double > Pair
Shorthand for std::pair<double, double>
static std::string s_unitName
conversion unit name
std::vector< std::pair< double, double > > getBackwardContour() const
Returns backward x-y contour.
std::vector< std::pair< double, double > > getInnerPanelContour() const
Returns inner honeycomb panel x-y contour.
virtual void print(const std::string &title="QBB cold plate geometry parameters") const override
Print the content of the class.
void printBackPlateContour() const
Print prism enclosure back plate contour (polygon) - for debugging.
Abstract base class for different kinds of events.