9 #include <top/dbobjects/TOPGeoModule.h>
10 #include <framework/gearbox/Unit.h>
11 #include <framework/logging/Logger.h>
36 if (
this != &module) {
37 TOPGeoBase::operator=(module);
40 m_phi = module.getPhi();
43 m_bar1 = module.getBarSegment1();
44 m_bar2 = module.getBarSegment2();
45 m_mirror = module.getMirrorSegment();
79 Rphi.RotateZ(
m_phi - M_PI / 2);
94 const std::string& material)
107 B2ERROR(
"TOPGeoModule::setBrokenGlue: invalid glue ID."
108 <<
LogVar(
"glue ID", glueID));
125 return (*
m_rotation) * point + (*m_translation);
184 cout <<
"Slot " <<
getModuleID() <<
" geometry parameters:" << endl;
185 cout <<
"---------------------------" << endl;
186 cout <<
" name: " <<
m_name << endl;
196 m_bar2.
print(
"Bar segment 2 (backward) geometry parameters");
198 m_bar1.
print(
"Bar segment 1 (forward) geometry parameters");
virtual void setGlueDelamination(double fraction, double angle, const std::string &material)
Sets glue to be broken (delaminated)
Base class for geometry parameters.
std::string m_name
geometry object name
TRotation getRotation() const
Returns rotation matrix.
TVector3 getTranslation() const
Returns translation vector (always in basf2 units!)
Geometry parameters of a module (optical components + positioning)
TVector3 * m_translationNominal
do not write out
unsigned getModuleCNumber() const
Returns module construction number (0 = ideal module)
TOPGeoPMTArrayDisplacement m_arrayDisplacement
PMT array displacement.
float m_backwardZ
z position of prism-bar joint in Belle II frame
double getPhi() const
Returns module azimuthal angle in Belle II frame.
float m_phi
azimuthal angle in Belle II frame
TRotation * m_rotation
cache for rotation matrix from internal (= nominal & displaced) to Belle II frame
double getZc() const
Returns z of bar center (w/o prism) in Belle II frame.
float m_radius
radius of bar central plane in Belle II frame
int getModuleID() const
Returns module ID.
TVector3 * m_translation
do not write out
TOPGeoPMTArray m_pmtArray
geometry parameters of PMT array
TOPGeoMirrorSegment m_mirror
mirror segment
double getRadius() const
Returns radius of the bar central plane in Belle II frame.
TOPGeoBarSegment m_bar2
bar segment 2 (backward bar)
TOPGeoModuleDisplacement m_moduleDisplacement
module displacement
TRotation * m_rotationNominalInverse
do not write out
unsigned m_moduleCNumber
module construction number, 0 = ideal module
TRotation * m_rotationInverse
do not write out
double getBackwardZ() const
Returns the z position of prism-bar joint in Belle II frame.
TRotation * m_rotationNominal
do not write out
TOPGeoBarSegment m_bar1
bar segment 1 (forward bar)
double getX() const
Returns translation in x.
double getX(unsigned col) const
Returns x coordinate of column center.
double getDx() const
Returns spacing in x (column width)
void setPeelOffRegions(double size, double offset, double thickness, const std::string &material)
Sets parameters of the peel-off cookie volumes.
static const double deg
degree to radians
Class to store variables with their name which were sent to the logging service.
bool isConsistent() const override
Check for consistency of data members.
void print(const std::string &title="Module geometry parameters") const override
Print the content of the class.
static double s_unit
conversion unit for length
virtual void print(const std::string &title="Bar segment geometry parameters") const override
Print the content of the class.
TVector3 pointToGlobal(const TVector3 &point) const
Transforms 3D point from module internal (= nominal & displaced) frame to Belle II frame.
TVector3 momentumGlobalToNominal(const TVector3 &momentum) const
Transforms momentum vector from Belle II to module nominal frame.
~TOPGeoModule()
Destructor.
TVector3 pointGlobalToNominal(const TVector3 &point) const
Transforms 3D point from Belle II to module nominal frame.
void setTransformation() const
Sets transformation cache.
void print(const std::string &title="PMT array geometry parameters") const override
Print the content of the class.
void print(const std::string &title="Module displacement parameters") const override
Print the content of the class.
TVector3 pointNominalToGlobal(const TVector3 &point) const
Transforms 3D point from module nominal frame to Belle II frame.
TVector3 momentumToGlobal(const TVector3 &momentum) const
Transforms momentum vector from module internal (= nominal & displaced) frame to Belle II frame.
void setPeelOffRegions(double thickness, const std::string &material)
Sets parameters of the peel-off cookie volumes.
void print(const std::string &title="PMT array displacement parameters") const override
Print the content of the class.
TVector3 pointToLocal(const TVector3 &point) const
Transforms 3D point from Belle II to module internal (= nominal & displaced) frame.
TVector3 momentumToLocal(const TVector3 &momentum) const
Transforms momentum vector from Belle II to module internal (= nominal & displaced) frame.
TVector3 momentumNominalToGlobal(const TVector3 &momentum) const
Transforms momentum vector from module nominal frame to Belle II frame.
void print(const std::string &title="Prism geometry parameters") const override
Print the content of the class.
static std::string s_unitName
conversion unit name
void print(const std::string &title="Mirror segment geometry parameters") const override
Print the content of the class.
void setBrokenGlue(int glueID, double fraction, double angle, const std::string &material)
Sets glue to be broken (delaminated)
TOPGeoModule & operator=(const TOPGeoModule &module)
Assignment operator.
Abstract base class for different kinds of events.