Belle II Software development
RaytracerBase::Mirror Struct Reference

spherical mirror data in module local frame. More...

#include <RaytracerBase.h>

Public Member Functions

 Mirror ()
 default constructor
 
 Mirror (const TOPGeoModule &module)
 constructor from TOP module.
 

Public Attributes

double xc = 0
 center of curvature in x
 
double yc = 0
 center of curvature in y
 
double zc = 0
 center of curvature in z
 
double R = 0
 radius
 
double zb = 0
 minimum of mirror surface in z
 
double reflectivity = 0
 mirror reflectivity
 

Detailed Description

spherical mirror data in module local frame.

Definition at line 80 of file RaytracerBase.h.

Constructor & Destructor Documentation

◆ Mirror() [1/2]

Mirror ( )
inline

default constructor

Definition at line 91 of file RaytracerBase.h.

92 {}

◆ Mirror() [2/2]

Mirror ( const TOPGeoModule module)
explicit

constructor from TOP module.

Parameters
modulemodule object from TOPGeometry

Definition at line 39 of file RaytracerBase.cc.

39 :
40 xc(module.getMirrorSegment().getXc()), yc(module.getMirrorSegment().getYc()),
41 zc(module.getMirrorSegment().getZc()), R(module.getMirrorSegment().getRadius()),
42 reflectivity(module.getMirrorSegment().getMirrorReflectivity(3.0))
43 {
44 zc += (module.getBarLength() - module.getMirrorSegment().getFullLength()) / 2;
45 zb = zc + R;
46 double Ah = std::max(module.getMirrorSegment().getWidth(), module.getBarWidth()) / 2;
47 double Bh = std::max(module.getMirrorSegment().getThickness(), module.getBarThickness()) / 2;
48 zb = std::min(zb, zc + sqrt(pow(R, 2) - pow(xc - Ah, 2) - pow(yc - Bh, 2)));
49 zb = std::min(zb, zc + sqrt(pow(R, 2) - pow(xc + Ah, 2) - pow(yc - Bh, 2)));
50 zb = std::min(zb, zc + sqrt(pow(R, 2) - pow(xc - Ah, 2) - pow(yc + Bh, 2)));
51 zb = std::min(zb, zc + sqrt(pow(R, 2) - pow(xc + Ah, 2) - pow(yc + Bh, 2)));
52 }
double R
typedef autogenerated by FFTW
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28
double yc
center of curvature in y
Definition: RaytracerBase.h:82
double reflectivity
mirror reflectivity
Definition: RaytracerBase.h:86
double xc
center of curvature in x
Definition: RaytracerBase.h:81
double zb
minimum of mirror surface in z
Definition: RaytracerBase.h:85
double zc
center of curvature in z
Definition: RaytracerBase.h:83

Member Data Documentation

◆ R

double R = 0

radius

Definition at line 84 of file RaytracerBase.h.

◆ reflectivity

double reflectivity = 0

mirror reflectivity

Definition at line 86 of file RaytracerBase.h.

◆ xc

double xc = 0

center of curvature in x

Definition at line 81 of file RaytracerBase.h.

◆ yc

double yc = 0

center of curvature in y

Definition at line 82 of file RaytracerBase.h.

◆ zb

double zb = 0

minimum of mirror surface in z

Definition at line 85 of file RaytracerBase.h.

◆ zc

double zc = 0

center of curvature in z

Definition at line 83 of file RaytracerBase.h.


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