Belle II Software development
RaytracerBase::Prism Struct Reference

prism data in module local frame. More...

#include <RaytracerBase.h>

Public Member Functions

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

Public Attributes

double A = 0
 width (dimension in x)
 
double B = 0
 thickness at bar (dimension in y)
 
double yUp = 0
 maximal y of exit window
 
double yDown = 0
 minimal y of exit window
 
double zL = 0
 minimal z
 
double zR = 0
 maximal z, i.e position of prism-bar joint
 
double zFlat = 0
 z where flat continues to slanted surface
 
double zD = 0
 detector (photo-cathode) position
 
double slope = 0
 slope of slanted surface (dy/dz)
 
int k0 = 0
 index of true prism in the vector 'unfoldedWindows'
 
std::vector< TOPGeoPrism::UnfoldedWindowunfoldedWindows
 unfolded prism exit windows
 

Detailed Description

prism data in module local frame.

Definition at line 104 of file RaytracerBase.h.

Constructor & Destructor Documentation

◆ Prism() [1/2]

Prism ( )
inline

default constructor

Definition at line 120 of file RaytracerBase.h.

121 {}

◆ Prism() [2/2]

Prism ( const TOPGeoModule module)
explicit

constructor from TOP module.

Parameters
modulemodule object from TOPGeometry

Definition at line 55 of file RaytracerBase.cc.

55 :
56 A(module.getPrism().getWidth()), B(module.getPrism().getThickness())
57 {
58 yUp = B / 2;
59 const auto& prism = module.getPrism();
60 yDown = yUp - prism.getExitThickness();
61 zR = -module.getBarLength() / 2;
62 zL = zR - prism.getLength();
63 zFlat = zL + prism.getFlatLength();
64 const auto& pmtArray = module.getPMTArray();
65 // a call to prism.getFilterThickness is added for backward compatibility
66 double filterThickness = pmtArray.getFilterThickness() + prism.getFilterThickness();
67 double cookieThickness = pmtArray.getCookieThickness();
68 double pmtWindow = pmtArray.getPMT().getWinThickness();
69 zD = zL - filterThickness - cookieThickness - pmtWindow;
70 slope = (-B / 2 - yDown) / (zR - zFlat);
71
72 k0 = prism.getK0();
73 unfoldedWindows = prism.getUnfoldedWindows();
74 for (auto& w : unfoldedWindows) w.z0 += zR;
75 }
double A
width (dimension in x)
std::vector< TOPGeoPrism::UnfoldedWindow > unfoldedWindows
unfolded prism exit windows
double yDown
minimal y of exit window
double slope
slope of slanted surface (dy/dz)
double yUp
maximal y of exit window
double zFlat
z where flat continues to slanted surface
double zR
maximal z, i.e position of prism-bar joint
double B
thickness at bar (dimension in y)
double zD
detector (photo-cathode) position
int k0
index of true prism in the vector 'unfoldedWindows'

Member Data Documentation

◆ A

double A = 0

width (dimension in x)

Definition at line 105 of file RaytracerBase.h.

◆ B

double B = 0

thickness at bar (dimension in y)

Definition at line 106 of file RaytracerBase.h.

◆ k0

int k0 = 0

index of true prism in the vector 'unfoldedWindows'

Definition at line 114 of file RaytracerBase.h.

◆ slope

double slope = 0

slope of slanted surface (dy/dz)

Definition at line 113 of file RaytracerBase.h.

◆ unfoldedWindows

std::vector<TOPGeoPrism::UnfoldedWindow> unfoldedWindows

unfolded prism exit windows

Definition at line 115 of file RaytracerBase.h.

◆ yDown

double yDown = 0

minimal y of exit window

Definition at line 108 of file RaytracerBase.h.

◆ yUp

double yUp = 0

maximal y of exit window

Definition at line 107 of file RaytracerBase.h.

◆ zD

double zD = 0

detector (photo-cathode) position

Definition at line 112 of file RaytracerBase.h.

◆ zFlat

double zFlat = 0

z where flat continues to slanted surface

Definition at line 111 of file RaytracerBase.h.

◆ zL

double zL = 0

minimal z

Definition at line 109 of file RaytracerBase.h.

◆ zR

double zR = 0

maximal z, i.e position of prism-bar joint

Definition at line 110 of file RaytracerBase.h.


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