Belle II Software  release-08-01-10
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...
 
void setMirrorCenter (double xc, double yc)
 Sets the mirror center-of-curvature. 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 78 of file RaytracerBase.cc.

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 161 of file RaytracerBase.h.

◆ getGeometry()

EGeometry getGeometry ( ) const
inline

Returns quartz geometry treatement.

Returns
quartz geometry treatement

Definition at line 149 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 167 of file RaytracerBase.h.

◆ getModuleID()

int getModuleID ( ) const
inline

Returns slot ID.

Returns
slot ID

Definition at line 143 of file RaytracerBase.h.

◆ getOptics()

EOptics getOptics ( ) const
inline

Returns treatement of spherical mirror optics.

Returns
spherical mirror optics

Definition at line 155 of file RaytracerBase.h.

◆ getPrism()

const Prism& getPrism ( ) const
inline

Returns geometry data of prism.

Returns
geometry data of prism

Definition at line 173 of file RaytracerBase.h.

◆ setMirrorCenter()

void setMirrorCenter ( double  xc,
double  yc 
)

Sets the mirror center-of-curvature.

Parameters
xccenter of curvature in x
yccenter of curvature in y

Definition at line 100 of file RaytracerBase.cc.


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