![]() |
Belle II Software
release-08-02-06
|
State of the Cerenkov photon in the quartz optics. More...
#include <PhotonState.h>
Public Types | |
| enum | EType { c_Undefined = 0 , c_BarSegment = 1 , c_MirrorSegment = 2 , c_Prism = 3 } |
| enumerator for the type of quartz segments More... | |
Public Member Functions | |
| PhotonState () | |
| Default constructor. | |
| PhotonState (const ROOT::Math::XYZPoint &position, const ROOT::Math::XYZVector &direction) | |
| Constructor with position and direction vectors. More... | |
| PhotonState (const ROOT::Math::XYZPoint &position, double kx, double ky, double kz) | |
| Constructor with position vector and direction components. More... | |
| PhotonState (const ROOT::Math::XYZPoint &position, const ROOT::Math::XYZVector &trackDir, double thc, double fic) | |
| Constructor with position, track direction and cerenkov angles. More... | |
| PhotonState & | flipKy () |
| Changes sign of direction y component. | |
| ROOT::Math::XYZPoint | getPosition () const |
| Returns position as 3D vector. More... | |
| double | getX () const |
| Returns position in x. More... | |
| double | getY () const |
| Returns position in y. More... | |
| double | getZ () const |
| Returns position in z. More... | |
| double | getUnfoldedX (double x) const |
| Unfolds the position in x. More... | |
| double | getUnfoldedY (double y) const |
| Unfolds the position in y. More... | |
| double | getXD () const |
| Returns detection position x in unfolded prism. More... | |
| double | getYD () const |
| Returns detection position y in unfolded prism. More... | |
| double | getZD () const |
| Returns detection position z in unfolded prism. More... | |
| ROOT::Math::XYZVector | getDirection () const |
| Returns direction as 3D unit vector. More... | |
| double | getKx () const |
| Returns direction in x. More... | |
| double | getKy () const |
| Returns direction in y. More... | |
| double | getKz () const |
| Returns direction in z. More... | |
| double | getPropagationLen () const |
| Returns total propagation length since initial position. More... | |
| int | getNx () const |
| Returns number of reflections in x at last propagation step. More... | |
| int | getNy () const |
| Returns number of reflections in y at last propagation step. More... | |
| double | getA () const |
| Returns width (dimension in x) of the quartz segment at last propagation step. More... | |
| double | getB () const |
| Returns thickness (dimension in y) of the quartz segment at last propagation step. More... | |
| EType | getSegmentType () const |
| Returns the type of the quartz segment at last propagation. More... | |
| bool | getPropagationStatus () const |
| Returns propagation status. More... | |
| bool | getTotalReflStatus (double cosTotal) const |
| Returns total internal reflection status. More... | |
| bool | isInside (const RaytracerBase::BarSegment &bar) const |
| Checks if photon is inside the bar segment (including surface). More... | |
| bool | isInside (const RaytracerBase::BarSegment &bar, const RaytracerBase::Mirror &mirror) const |
| Checks if photon is inside the mirror segment (including surface). More... | |
| bool | isInside (const RaytracerBase::Prism &prism) const |
| Checks if photon is inside the prism (including surface). More... | |
| void | propagate (const RaytracerBase::BarSegment &bar) |
| Propagate photon to the exit of bar segment. More... | |
| void | propagateSemiLinear (const RaytracerBase::BarSegment &bar, const RaytracerBase::Mirror &mirror) |
| Propagate photon to the mirror and reflect it using semi-linear mirror optics. More... | |
| void | propagateExact (const RaytracerBase::BarSegment &bar, const RaytracerBase::Mirror &mirror) |
| Propagate photon to the mirror and reflect it using exact mirror optics. More... | |
| void | propagate (const RaytracerBase::Prism &prism) |
| Propagate photon in the prism to the detector plane. More... | |
Static Public Member Functions | |
| static void | setMaxPropagationLen (double maxLen) |
| Sets maximal allowed propagation length. More... | |
Private Attributes | |
| double | m_x = 0 |
| position in x | |
| double | m_y = 0 |
| position in y | |
| double | m_z = 0 |
| position in z | |
| double | m_kx = 0 |
| direction in x | |
| double | m_ky = 0 |
| direction in y | |
| double | m_kz = 0 |
| direction in z | |
| double | m_propLen = 0 |
| propagation length since initial position | |
| int | m_nx = 0 |
| signed number of reflections in x at last propagation step | |
| int | m_ny = 0 |
| signed number of reflections in y at last propagation step | |
| double | m_cosx = 0 |
| maximal cosine of impact angle to surface in x | |
| double | m_cosy = 0 |
| maximal cosine of impact angle to surface in y | |
| double | m_A = 0 |
| width of the quartz segment (dimension in x) for unfolding | |
| double | m_B = 0 |
| thickness of the quartz segment (dimension in y) for unfolding | |
| double | m_y0 = 0 |
| origin in y for unfolding | |
| double | m_yD = 0 |
| unfolded prism detection position in y | |
| double | m_zD = 0 |
| unfolded prism detection position in z | |
| EType | m_type = c_Undefined |
| quartz segment type at last propagation step | |
| bool | m_status = false |
| propagation status | |
Static Private Attributes | |
| static double | s_maxLen = 10000 |
| maximal allowed propagation length | |
State of the Cerenkov photon in the quartz optics.
Definition at line 27 of file PhotonState.h.
| enum EType |
enumerator for the type of quartz segments
| Enumerator | |
|---|---|
| c_Undefined | undefined |
| c_BarSegment | bar segment |
| c_MirrorSegment | mirror segment |
| c_Prism | prism |
Definition at line 34 of file PhotonState.h.
| PhotonState | ( | const ROOT::Math::XYZPoint & | position, |
| const ROOT::Math::XYZVector & | direction | ||
| ) |
Constructor with position and direction vectors.
| position | initial photon position (must be inside quartz) |
| direction | initial direction vector (must be unit vector) |
Definition at line 26 of file PhotonState.cc.
| PhotonState | ( | const ROOT::Math::XYZPoint & | position, |
| double | kx, | ||
| double | ky, | ||
| double | kz | ||
| ) |
Constructor with position vector and direction components.
| position | initial photon position (must be inside quartz) |
| kx | initial direction x-component (must be unit vector) |
| ky | initial direction y-component (must be unit vector) |
| kz | initial direction z-component (must be unit vector) |
Definition at line 33 of file PhotonState.cc.
| PhotonState | ( | const ROOT::Math::XYZPoint & | position, |
| const ROOT::Math::XYZVector & | trackDir, | ||
| double | thc, | ||
| double | fic | ||
| ) |
Constructor with position, track direction and cerenkov angles.
| position | initial photon position (must be inside quartz) |
| trackDir | track direction vector (must be unit vector) |
| thc | Cerenkov (polar) angle |
| fic | Cerenkov azimuthal angle |
Definition at line 39 of file PhotonState.cc.
|
inline |
Returns width (dimension in x) of the quartz segment at last propagation step.
Definition at line 185 of file PhotonState.h.
|
inline |
Returns thickness (dimension in y) of the quartz segment at last propagation step.
For prism it is the size of exit window.
Definition at line 192 of file PhotonState.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns number of reflections in x at last propagation step.
Definition at line 173 of file PhotonState.h.
|
inline |
Returns number of reflections in y at last propagation step.
Definition at line 179 of file PhotonState.h.
|
inline |
|
inline |
Returns total propagation length since initial position.
Definition at line 167 of file PhotonState.h.
|
inline |
|
inline |
Returns the type of the quartz segment at last propagation.
Definition at line 198 of file PhotonState.h.
|
inline |
Returns total internal reflection status.
| cosTotal | cosine of total reflection angle |
Definition at line 211 of file PhotonState.h.
|
inline |
Unfolds the position in x.
| x | position to unfold |
Definition at line 112 of file PhotonState.h.
|
inline |
Unfolds the position in y.
| y | position to unfold |
Definition at line 119 of file PhotonState.h.
|
inline |
|
inline |
Returns detection position x in unfolded prism.
Definition at line 125 of file PhotonState.h.
|
inline |
|
inline |
Returns detection position y in unfolded prism.
Definition at line 131 of file PhotonState.h.
|
inline |
|
inline |
Returns detection position z in unfolded prism.
Definition at line 137 of file PhotonState.h.
| bool isInside | ( | const RaytracerBase::BarSegment & | bar | ) | const |
Checks if photon is inside the bar segment (including surface).
| bar | bar segment data |
Definition at line 51 of file PhotonState.cc.
| bool isInside | ( | const RaytracerBase::BarSegment & | bar, |
| const RaytracerBase::Mirror & | mirror | ||
| ) | const |
Checks if photon is inside the mirror segment (including surface).
| bar | bar segment data |
| mirror | spherical mirror data |
Definition at line 60 of file PhotonState.cc.
| bool isInside | ( | const RaytracerBase::Prism & | prism | ) | const |
Checks if photon is inside the prism (including surface).
| prism | prism data |
Definition at line 71 of file PhotonState.cc.
| void propagate | ( | const RaytracerBase::BarSegment & | bar | ) |
Propagate photon to the exit of bar segment.
| bar | bar segment data |
Definition at line 82 of file PhotonState.cc.
| void propagate | ( | const RaytracerBase::Prism & | prism | ) |
Propagate photon in the prism to the detector plane.
| prism | prism data |
Definition at line 247 of file PhotonState.cc.
| void propagateExact | ( | const RaytracerBase::BarSegment & | bar, |
| const RaytracerBase::Mirror & | mirror | ||
| ) |
Propagate photon to the mirror and reflect it using exact mirror optics.
| bar | mirror segment data |
| mirror | spherical mirror data |
Definition at line 176 of file PhotonState.cc.
| void propagateSemiLinear | ( | const RaytracerBase::BarSegment & | bar, |
| const RaytracerBase::Mirror & | mirror | ||
| ) |
Propagate photon to the mirror and reflect it using semi-linear mirror optics.
Semi-linear: mirror surface approximated with a cylinder along y-axis and using linear optics approximation in y for the photon reflection. Useful to get rid of some of the discontinuities in the TOP image at given wavelength, which are anyway smeared-out by the dispersion and other processes.
| bar | mirror segment data |
| mirror | spherical mirror data |
Definition at line 110 of file PhotonState.cc.
|
inlinestatic |
Sets maximal allowed propagation length.
| maxLen | maximal allowed propagation length |
Definition at line 81 of file PhotonState.h.