 |
Belle II Software
release-05-01-25
|
12 #include <framework/logging/Logger.h>
13 #include <framework/gearbox/Unit.h>
15 #include <arich/dbobjects/ARICHGeoBase.h>
18 #include <TRotation.h>
19 #include <geometry/dbobjects/GeoOpticalSurface.h>
32 class ARICHGeoMirrors:
public ARICHGeoBase {
51 void print(
const std::string& title =
"Mirror configuration parameters")
const override;
145 if (mirID < 1 || mirID >
m_normVector.size()) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
158 if (mirID < 1 || mirID >
m_nMirrors) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
159 m_point[mirID - 1] = TVector3(x, y, z);
181 if (mirID < 1 || mirID >
m_nMirrors) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
190 const TVector3&
getPoint(
const unsigned mirID)
const
192 if (mirID < 1 || mirID >
m_nMirrors) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
209 if (mirID < 1 || mirID >
m_nMirrors) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
220 if (mirID < 1 || mirID >
m_nMirrors) B2ERROR(
"ARICHGeoMirrors: invalid mirror plate ID number");
double getRadius() const
Get nominal radius at which mirror plates are placed (center of plate)
const std::string & getMaterial() const
Get material name of mirror plates.
double getZPosition() const
Get nominal Z position of mirror plates (center point in ARICH local frame)
double getPlateWidth() const
Get width of mirror plate.
bool isInstalled(unsigned mirID) const
Check if i-th mirror plate is installed.
GeoOpticalSurface m_surface
optical surface of mirror plates
double m_startAngle
phi angle of the center of the 1st mirror plate
std::vector< bool > m_installed
vector of installed/not installed flags of all mirror plates
double m_z
nominal Z position of mirror plates
const GeoOpticalSurface & getMirrorSurface() const
Returns mirror reflective optical surface.
bool isConsistent() const override
Consistency check of geometry parameters.
double m_radius
nominal radius at which mirror plates are placed
ClassDefOverride(ARICHGeoMirrors, 1)
ClassDef.
unsigned getNMirrors() const
Get number of mirror plates.
Geometry parameters of HAPD.
void setRadius(double r)
Set nominal radius at which mirror plates are placed (center of plate)
Represent an optical finish of a surface.
void print(const std::string &title="Mirror configuration parameters") const override
Print the content of the class.
const TVector3 & getNormVector(const unsigned mirID) const
Get normal vector of the i-th mirror plate surface.
static double s_unit
conversion unit for length
double m_plateLength
length of mirror plate
double m_plateWidth
width of mirror plate
Abstract base class for different kinds of events.
void setZPosition(double zPos)
Set nominal Z position of mirror plates (center point in ARICH local frame)
const TVector3 & getPoint(const unsigned mirID) const
Get vector to the center point of the mirror plate reflective surface.
double getPlateLength() const
Get length of mirror plate.
void setMirrorPoint(unsigned mirID, double x, double y, double z)
Set vector to the center point of the mirror plate reflective surface.
void initializeDefault()
Initializes default mirror position parameters (assuming plate position on the regular m_nMirrors-sid...
void setMirrorPlate(double thick, double width, double length, const std::string &material, const GeoOpticalSurface &surf)
Set parameters of mirror plate.
unsigned m_nMirrors
number of mirror plates (slots)
void setMirrorNormVector(unsigned mirID, double x, double y, double z)
Set normal vector of the i-th mirror plate surface.
void setInstalled(unsigned mirID, bool installed)
Set mirror plate installed/not installed (only installed plates are placed)
void setStartAngle(double stang)
Set phi angle of position of the first mirror plate.
std::vector< TVector3 > m_point
vector of points on the reflective surface of all mirror plates
double getStartAngle() const
Get phi angle of position of the first mirror plate.
double m_plateThickness
thickness of mirror plate
void setNMirrors(unsigned nmir)
Set number of mirror plates (slots)
std::string m_material
material of mirror plates
std::vector< TVector3 > m_normVector
vector of normal vectors of all mirror plates
ARICHGeoMirrors()
Default constructor.
double getPlateThickness() const
Get thickness of mirror plate.