Belle II Software  release-06-00-14
RaytracerBase Class Reference

Base class with geometry data. More...

#include <RaytracerBase.h>

Inheritance diagram for RaytracerBase:
Collaboration diagram for RaytracerBase:

Classes

struct  BarSegment
 bar segment data in module local frame. More...
 
struct  Mirror
 spherical mirror data in module local frame. More...
 
struct  Prism
 prism data in module local frame. More...
 

Public Types

enum  EGeometry {
  c_Unified = 0 ,
  c_Segmented = 1
}
 Treatement of quartz geometry. More...
 
enum  EOptics {
  c_SemiLinear = 0 ,
  c_Exact = 1
}
 Treatement of spherical mirror optics. More...
 

Public Member Functions

 RaytracerBase (int moduleID, EGeometry geometry=c_Unified, EOptics optics=c_SemiLinear)
 Constructor. More...
 
int getModuleID () const
 Returns slot ID. More...
 
EGeometry getGeometry () const
 Returns quartz geometry treatement. More...
 
EOptics getOptics () const
 Returns treatement of spherical mirror optics. More...
 
const std::vector< BarSegment > & getBars () const
 Returns geometry data of bar segments. More...
 
const MirrorgetMirror () const
 Returns geometry data of spherical mirror. More...
 
const PrismgetPrism () const
 Returns geometry data of prism. More...
 

Protected Attributes

int m_moduleID = 0
 slot ID
 
EGeometry m_geometry = c_Unified
 quartz geometry
 
EOptics m_optics = c_SemiLinear
 spherical mirror optics
 
std::vector< BarSegmentm_bars
 geometry data of bar segments
 
Mirror m_mirror
 spherical mirror geometry data
 
Prism m_prism
 prism geometry data
 

Detailed Description

Base class with geometry data.

Definition at line 27 of file RaytracerBase.h.

Member Enumeration Documentation

◆ EGeometry

enum EGeometry

Treatement of quartz geometry.

Enumerator
c_Unified 

single bar with average width and thickness

c_Segmented 

segmented bars

Definition at line 33 of file RaytracerBase.h.

◆ EOptics

enum EOptics

Treatement of spherical mirror optics.

Enumerator
c_SemiLinear 

semi-linear approximation

c_Exact 

exact optics

Definition at line 41 of file RaytracerBase.h.

Constructor & Destructor Documentation

◆ RaytracerBase()

RaytracerBase ( int  moduleID,
EGeometry  geometry = c_Unified,
EOptics  optics = c_SemiLinear 
)
explicit

Constructor.

Parameters
moduleIDslot ID
geometrytreatement of quartz geometry
opticstreatement of spherical mirror optics

Definition at line 76 of file RaytracerBase.cc.

76  :
77  m_moduleID(moduleID), m_geometry(geometry), m_optics(optics)
78  {
79  const auto* geo = TOPGeometryPar::Instance()->getGeometry();
80  if (not geo->isModuleIDValid(moduleID)) {
81  B2FATAL("TOP::RaytracerBase: invalid slot number, moduleID = " << moduleID);
82  return;
83  }
84  const auto& module = geo->getModule(moduleID);
85 
86  m_prism = Prism(module);
87  m_mirror = Mirror(module);
88 
89  if (geometry == c_Unified) {
90  m_bars.push_back(BarSegment(module));
91  } else {
92  m_bars.push_back(BarSegment(module.getBarSegment2(), m_prism.zR));
93  m_bars.push_back(BarSegment(module.getBarSegment1(), m_bars.back().zR));
94  m_bars.push_back(BarSegment(module.getMirrorSegment(), m_bars.back().zR));
95  }
96  }
EOptics m_optics
spherical mirror optics
@ c_Unified
single bar with average width and thickness
Definition: RaytracerBase.h:34
Mirror m_mirror
spherical mirror geometry data
Prism m_prism
prism geometry data
EGeometry m_geometry
quartz geometry
std::vector< BarSegment > m_bars
geometry data of bar segments
const TOPGeometry * getGeometry() const
Returns pointer to geometry object using basf2 units.
static TOPGeometryPar * Instance()
Static method to obtain the pointer to its instance.
double zR
maximal z, i.e position of prism-bar joint

Member Function Documentation

◆ getBars()

const std::vector<BarSegment>& getBars ( ) const
inline

Returns geometry data of bar segments.

Returns
geometry data of bar segments

Definition at line 160 of file RaytracerBase.h.

◆ getGeometry()

EGeometry getGeometry ( ) const
inline

Returns quartz geometry treatement.

Returns
quartz geometry treatement

Definition at line 148 of file RaytracerBase.h.

◆ getMirror()

const Mirror& getMirror ( ) const
inline

Returns geometry data of spherical mirror.

Returns
geometry data of spherical mirror

Definition at line 166 of file RaytracerBase.h.

◆ getModuleID()

int getModuleID ( ) const
inline

Returns slot ID.

Returns
slot ID

Definition at line 142 of file RaytracerBase.h.

◆ getOptics()

EOptics getOptics ( ) const
inline

Returns treatement of spherical mirror optics.

Returns
spherical mirror optics

Definition at line 154 of file RaytracerBase.h.

◆ getPrism()

const Prism& getPrism ( ) const
inline

Returns geometry data of prism.

Returns
geometry data of prism

Definition at line 172 of file RaytracerBase.h.


The documentation for this class was generated from the following files: