Belle II Software  release-05-01-25
TOPGeoModule Class Reference

Geometry parameters of a module (optical components + positioning) More...

#include <TOPGeoModule.h>

Inheritance diagram for TOPGeoModule:
Collaboration diagram for TOPGeoModule:

Public Member Functions

 TOPGeoModule ()
 Default constructor.
 
 TOPGeoModule (int moduleID, double radius, double phi, double backwardZ, const std::string &name="TOPModule")
 Useful constructor. More...
 
 TOPGeoModule (const TOPGeoModule &module)
 Copy constructor.
 
TOPGeoModuleoperator= (const TOPGeoModule &module)
 Assignment operator.
 
 ~TOPGeoModule ()
 Destructor.
 
void setModuleCNumber (unsigned moduleCNumber)
 Sets module construction number (0 = ideal module = default) More...
 
void setBarSegment1 (const TOPGeoBarSegment &bar)
 Sets bar segment No.1 (forward bar) More...
 
void setBarSegment2 (const TOPGeoBarSegment &bar)
 Sets bar segment No.2 (backward bar) More...
 
void setMirrorSegment (const TOPGeoMirrorSegment &mirror)
 Sets mirror segment. More...
 
void setPrism (const TOPGeoPrism &prism)
 Sets prism. More...
 
void setPMTArray (const TOPGeoPMTArray &array)
 Sets PMT array. More...
 
void setDecoupledPMT (unsigned pmtID)
 Sets PMT as optically decoupled. More...
 
void generateDecoupledPMTs (double fraction)
 Generate randomly a fraction of PMT's to be optically decoupled. More...
 
void setBrokenGlue (int glueID, double fraction, double angle, const std::string &material)
 Sets glue to be broken (delaminated) More...
 
void setPeelOffRegions (double thickness, const std::string &material)
 Sets parameters of the peel-off cookie volumes. More...
 
void appendPeelOffRegion (unsigned ID, double fraction, double angle)
 Appends peel-off cookie region. More...
 
void setPMTArrayDisplacement (const TOPGeoPMTArrayDisplacement &displ)
 Sets PMT array displacement. More...
 
void setModuleDisplacement (const TOPGeoModuleDisplacement &displ)
 Sets module displacement. More...
 
int getModuleID () const
 Returns module ID. More...
 
double getRadius () const
 Returns radius of the bar central plane in Belle II frame. More...
 
double getPhi () const
 Returns module azimuthal angle in Belle II frame. More...
 
double getBackwardZ () const
 Returns the z position of prism-bar joint in Belle II frame. More...
 
unsigned getModuleCNumber () const
 Returns module construction number (0 = ideal module) More...
 
const TOPGeoBarSegmentgetBarSegment1 () const
 Returns bar segment No.1 (forward bar) More...
 
const TOPGeoBarSegmentgetBarSegment2 () const
 Returns bar segment No.2 (backward bar) More...
 
const TOPGeoMirrorSegmentgetMirrorSegment () const
 Returns mirror segment. More...
 
const TOPGeoPrismgetPrism () const
 Returns prism. More...
 
const TOPGeoPMTArraygetPMTArray () const
 Returns PMT array. More...
 
const TOPGeoPMTArrayDisplacementgetPMTArrayDisplacement () const
 Returns PMT array displacement. More...
 
const TOPGeoModuleDisplacementgetModuleDisplacement () const
 Returns module displacement. More...
 
double getBarLength () const
 Returns bar length (w/o prism) including glue joints. More...
 
double getFullLength () const
 Returns full length (including prism, wavelenght filter and glue joints) More...
 
double getForwardZ () const
 Returns the z position of the bar forward end in Belle II frame. More...
 
double getBarThickness () const
 Returns average bar thickness (weigthed by segment lengths) More...
 
double getBarWidth () const
 Returns average bar width (weigthed by segment lengths) More...
 
double getSurfaceReflectivity (double energy) const
 Returns average surface reflectivity at given photon energy (weigthed by segment lengths) More...
 
double getZc () const
 Returns z of bar center (w/o prism) in Belle II frame. More...
 
double getInnerRadius () const
 Returns inner surface radius in Belle II frame. More...
 
TVector3 pointToLocal (const TVector3 &point) const
 Transforms 3D point from Belle II to module internal frame. More...
 
TVector3 momentumToLocal (const TVector3 &momentum) const
 Transforms momentum vector from Belle II to module internal frame. More...
 
TVector3 pointToGlobal (const TVector3 &point) const
 Transforms 3D point from module internal frame to Belle II frame. More...
 
TVector3 momentumToGlobal (const TVector3 &momentum) const
 Transforms momentum vector from module internal frame to Belle II frame. More...
 
bool isConsistent () const override
 Check for consistency of data members. More...
 
void print (const std::string &title="Module geometry parameters") const override
 Print the content of the class. More...
 
void setName (const std::string &name)
 Sets object name. More...
 
const std::string & getName () const
 Returns object name. More...
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface. More...
 
double getReflectivity (const GeoOpticalSurface &surface, double energy) const
 Returns reflectivity of optical surface at given photon energy. More...
 

Protected Member Functions

void printUnderlined (const std::string &title) const
 Print the content of the class. More...
 
 ClassDef (TOPGeoBase, 1)
 ClassDef.
 

Protected Attributes

std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

void setTransformation () const
 Sets transformation cache.
 
 ClassDefOverride (TOPGeoModule, 3)
 ClassDef.
 

Private Attributes

int m_moduleID = 0
 module ID
 
float m_radius = 0
 radius of bar central plane in Belle II frame
 
float m_phi = 0
 azimuthal angle in Belle II frame
 
float m_backwardZ = 0
 z position of prism-bar joint in Belle II frame
 
unsigned m_moduleCNumber = 0
 module construction number, 0 = ideal module
 
TOPGeoBarSegment m_bar1
 bar segment 1 (forward bar)
 
TOPGeoBarSegment m_bar2
 bar segment 2 (backward bar)
 
TOPGeoMirrorSegment m_mirror
 mirror segment
 
TOPGeoPrism m_prism
 prism
 
TOPGeoPMTArray m_pmtArray
 geometry parameters of PMT array
 
TOPGeoPMTArrayDisplacement m_arrayDisplacement
 PMT array displacement.
 
TOPGeoModuleDisplacement m_moduleDisplacement
 module displacement
 
TRotation * m_rotation = 0
 cache for rotation matrix (from internal to Belle II frame)
 
TRotation * m_rotationInverse = 0
 cache for inverse rotation matrix
 
TVector3 * m_translation = 0
 cache for translation vector (from internal to Belle II frame)
 

Detailed Description

Geometry parameters of a module (optical components + positioning)

Definition at line 40 of file TOPGeoModule.h.

Constructor & Destructor Documentation

◆ TOPGeoModule()

TOPGeoModule ( int  moduleID,
double  radius,
double  phi,
double  backwardZ,
const std::string &  name = "TOPModule" 
)
inline

Useful constructor.

Parameters
moduleIDmodule ID
radiusradius of the bar central plane in Belle II frame
phiazimuthal angle in Belle II frame
backwardZz position of prism-bar joint in Belle II frame
nameobject name

Definition at line 57 of file TOPGeoModule.h.

57  : TOPGeoBase(module.getName())
58  {
59  *this = module;
60  m_rotation = 0;

Member Function Documentation

◆ appendPeelOffRegion()

void appendPeelOffRegion ( unsigned  ID,
double  fraction,
double  angle 
)
inline

Appends peel-off cookie region.

Parameters
IDregion ID (1-based)
fractionfraction of the area
angleangle of the area

Definition at line 186 of file TOPGeoModule.h.

◆ generateDecoupledPMTs()

void generateDecoupledPMTs ( double  fraction)
inline

Generate randomly a fraction of PMT's to be optically decoupled.

Parameters
fractiondecoupled fraction

Definition at line 158 of file TOPGeoModule.h.

◆ getBackwardZ()

double getBackwardZ ( ) const
inline

Returns the z position of prism-bar joint in Belle II frame.

Returns
z position

Definition at line 232 of file TOPGeoModule.h.

◆ getBarLength()

double getBarLength ( ) const
inline

Returns bar length (w/o prism) including glue joints.

Returns
length

Definition at line 292 of file TOPGeoModule.h.

◆ getBarSegment1()

const TOPGeoBarSegment& getBarSegment1 ( ) const
inline

Returns bar segment No.1 (forward bar)

Returns
bar segment geometry parameters

Definition at line 244 of file TOPGeoModule.h.

◆ getBarSegment2()

const TOPGeoBarSegment& getBarSegment2 ( ) const
inline

Returns bar segment No.2 (backward bar)

Returns
bar segment geometry parameters

Definition at line 250 of file TOPGeoModule.h.

◆ getBarThickness()

double getBarThickness ( ) const
inline

Returns average bar thickness (weigthed by segment lengths)

Returns
average bar thickness

Definition at line 313 of file TOPGeoModule.h.

◆ getBarWidth()

double getBarWidth ( ) const
inline

Returns average bar width (weigthed by segment lengths)

Returns
average bar width

Definition at line 324 of file TOPGeoModule.h.

◆ getForwardZ()

double getForwardZ ( ) const
inline

Returns the z position of the bar forward end in Belle II frame.

Returns
z position

Definition at line 307 of file TOPGeoModule.h.

◆ getFullLength()

double getFullLength ( ) const
inline

Returns full length (including prism, wavelenght filter and glue joints)

Returns
length

Definition at line 301 of file TOPGeoModule.h.

◆ getInnerRadius()

double getInnerRadius ( ) const
inline

Returns inner surface radius in Belle II frame.

Returns
radius

Definition at line 353 of file TOPGeoModule.h.

◆ getMirrorSegment()

const TOPGeoMirrorSegment& getMirrorSegment ( ) const
inline

Returns mirror segment.

Returns
mirror segment geometry parameters

Definition at line 256 of file TOPGeoModule.h.

◆ getModuleCNumber()

unsigned getModuleCNumber ( ) const
inline

Returns module construction number (0 = ideal module)

Returns
construction number

Definition at line 238 of file TOPGeoModule.h.

◆ getModuleDisplacement()

const TOPGeoModuleDisplacement& getModuleDisplacement ( ) const
inline

Returns module displacement.

Returns
module displacement parameters

Definition at line 283 of file TOPGeoModule.h.

◆ getModuleID()

int getModuleID ( ) const
inline

Returns module ID.

Returns
module ID

Definition at line 214 of file TOPGeoModule.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 61 of file TOPGeoBase.h.

◆ getPhi()

double getPhi ( ) const
inline

Returns module azimuthal angle in Belle II frame.

Returns
azimuthal angle

Definition at line 226 of file TOPGeoModule.h.

◆ getPMTArray()

const TOPGeoPMTArray& getPMTArray ( ) const
inline

Returns PMT array.

Returns
PMT array geometry parameters

Definition at line 268 of file TOPGeoModule.h.

◆ getPMTArrayDisplacement()

const TOPGeoPMTArrayDisplacement& getPMTArrayDisplacement ( ) const
inline

Returns PMT array displacement.

Returns
PMT array displacement parameters

Definition at line 274 of file TOPGeoModule.h.

◆ getPrism()

const TOPGeoPrism& getPrism ( ) const
inline

Returns prism.

Returns
prism geometry parameters

Definition at line 262 of file TOPGeoModule.h.

◆ getRadius()

double getRadius ( ) const
inline

Returns radius of the bar central plane in Belle II frame.

Returns
radius

Definition at line 220 of file TOPGeoModule.h.

◆ getSurfaceReflectivity()

double getSurfaceReflectivity ( double  energy) const
inline

Returns average surface reflectivity at given photon energy (weigthed by segment lengths)

Parameters
energyphoton energy in [eV]
Returns
average reflectivity

Definition at line 336 of file TOPGeoModule.h.

◆ getZc()

double getZc ( ) const
inline

Returns z of bar center (w/o prism) in Belle II frame.

Returns
z coordinate if bar center

Definition at line 347 of file TOPGeoModule.h.

◆ setBarSegment1()

void setBarSegment1 ( const TOPGeoBarSegment bar)
inline

Sets bar segment No.1 (forward bar)

Parameters
barsegment No.1 geometry parameters

Definition at line 122 of file TOPGeoModule.h.

◆ setBarSegment2()

void setBarSegment2 ( const TOPGeoBarSegment bar)
inline

Sets bar segment No.2 (backward bar)

Parameters
barsegment No.2 geometry parameters

Definition at line 128 of file TOPGeoModule.h.

◆ setDecoupledPMT()

void setDecoupledPMT ( unsigned  pmtID)
inline

Sets PMT as optically decoupled.

Parameters
pmtIDID of PMT to be set as decoupled (1-based)

Definition at line 152 of file TOPGeoModule.h.

◆ setMirrorSegment()

void setMirrorSegment ( const TOPGeoMirrorSegment mirror)
inline

Sets mirror segment.

Parameters
mirrormirror segment geometry parameters

Definition at line 134 of file TOPGeoModule.h.

◆ setModuleCNumber()

void setModuleCNumber ( unsigned  moduleCNumber)
inline

Sets module construction number (0 = ideal module = default)

Parameters
moduleCNumberconstruction number

Definition at line 116 of file TOPGeoModule.h.

◆ setModuleDisplacement()

void setModuleDisplacement ( const TOPGeoModuleDisplacement displ)
inline

Sets module displacement.

Parameters
displmodule displacement parameters

Definition at line 205 of file TOPGeoModule.h.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 55 of file TOPGeoBase.h.

◆ setPMTArray()

void setPMTArray ( const TOPGeoPMTArray array)
inline

Sets PMT array.

Parameters
arrayPMT array geometry parameters

Definition at line 146 of file TOPGeoModule.h.

◆ setPMTArrayDisplacement()

void setPMTArrayDisplacement ( const TOPGeoPMTArrayDisplacement displ)
inline

Sets PMT array displacement.

Parameters
displPMT array displacement parameters

Definition at line 196 of file TOPGeoModule.h.

◆ setPrism()

void setPrism ( const TOPGeoPrism prism)
inline

Sets prism.

Parameters
prismprism geometry parameters

Definition at line 140 of file TOPGeoModule.h.


The documentation for this class was generated from the following files:
Belle2::TOPGeoModule::m_rotation
TRotation * m_rotation
cache for rotation matrix (from internal to Belle II frame)
Definition: TOPGeoModule.h:418
Belle2::TOPGeoBase::TOPGeoBase
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:41