REST-for-Physics  v2.3
Rare Event Searches ToolKit for Physics
Public Member Functions | Private Member Functions | Private Attributes
TRestAxionTrueWolterOptics Class Reference

Detailed Description

A class that calculates the reflection path of X-rays through a Wolter 1 telescope.

TRestAxionTrueWolterOptics is a class that inherits from TRestAxionOptics.

This class defines an optics device using conical aproximation as it is ilustrated in the following figure.

Wolter optics schematic figure

The parameters shown there correspond to the geometrical description of each of the mirrors that build the optics device. Those parameters will be retrieved by TRestAxionOptics, and they will be placed inside TRestAxionOptics::fOpticsData. This class will use those parameters to implement the ray-tracing interactions inside the mirrors, and to define the entrance/middle/interface masks. The format of the file must follow the same specifications as the file XMM.Wolter.

The optical parameters extracted from this file, in particular R1, R3 and R5, will be used to generate the TRestRingsMask at each of the optical interfaces, entrance, middle, and exit. An additional mask, a TRestSpiderMask, common to all the interfaces must be defined in the RML configuration. The TRestRingsMask and the TRestSpiderMask will be used to build a TRestCombinedMask at each interface.

RML definition

Examples of RML optics definitions can be found at the axion-lib data repository.

<TRestAxionTrueWolterOptics name="xmm" verboseLevel="warning" >
<parameter name="opticsFile" value="XMM.trueWolter" />
<parameter name="mirrorLength" value="300" />
<parameter name="mirrorType" value="Single" />
<parameter name="layerTop" value="Au" />
<parameter name="layerThicknessTop" value="250" />
<parameter name="sigmaTop" value="0.4" />
<parameter name="substrate" value="Ni" />
<TRestSpiderMask name="spider" verboseLevel="warning">
<parameter name="maskRadius" value="70cm"/>
<parameter name="offset" value="(0,0)cm"/>
<parameter name="rotationAngle" value="0"/>
<parameter name="armsWidth" value="2.29deg"/>
<parameter name="armsSeparationAngle" value="360./16degrees"/>
<parameter name="initialRadius" value="0cm"/>
A metadata class accessing the Henke database to load reflectivity data.
A class that calculates the reflection path of X-rays through a Wolter 1 telescope.
A class used to define and generate a spider structure mask.

The previous definition corresponds to the following image, that was generated using the method TRestAxionOptics::DrawDensityMaps, where we can visualize the XY projection of the photons at different Z-positions.

Hitmaps for the XMM definition, using TRestAxionTrueWolterOptics

This image was generated using the macro REST_Axion_XMMPlots.C which is available when entering the ROOT interface using the restRootMacros command. It corresponds with the flux of a perfectly aligned photon flux, deviation=0, for a TRestAxionTrueWolterOptics definition of the XMM optics. The RML description used, xmm.rml, can be found at the axion-lib data repository.


RESTsoft - Software for Rare Event Searches with TPCs

History of developments:

2022-May: Integration of TRestAxionWolterOptics which TRestAxionTrueWolterOptics is similar to. Javier Galan

2022-August: Final integration Johanna von Oy

Author
Johanna von Oy vonoy.nosp@m.@phy.nosp@m.sik.u.nosp@m.ni-b.nosp@m.onn.d.nosp@m.e
Javier Galan javie.nosp@m.r.ga.nosp@m.lan@u.nosp@m.niza.nosp@m.r.es

Definition at line 33 of file TRestAxionTrueWolterOptics.h.

#include <TRestAxionTrueWolterOptics.h>

Inheritance diagram for TRestAxionTrueWolterOptics:
TRestAxionOptics TRestMetadata

Public Member Functions

 ClassDefOverride (TRestAxionTrueWolterOptics, 1)
 
TPad * DrawMirrors () override
 A method to to draw an optics schematic including the mirrors geometry. More...
 
std::vector< Double_t > GetAlpha ()
 It returns a vector with the values of alpha. More...
 
Double_t GetEntrancePositionZ () override
 It returns the entrance Z-position defined by the optical axis. More...
 
Double_t GetExitPositionZ () override
 It returns the exit Z-position defined by the optical axis. More...
 
std::vector< Double_t > GetR1 ()
 It returns a vector with the values of R1. More...
 
std::vector< Double_t > GetR2 ()
 It returns a vector with the values of R2. More...
 
std::vector< Double_t > GetR3 ()
 It returns a vector with the values of R3. More...
 
std::vector< Double_t > GetR4 ()
 It returns a vector with the values of R4. More...
 
std::vector< Double_t > GetR5 ()
 It returns a vector with the values of R5. More...
 
std::pair< Double_t, Double_t > GetRadialLimits () override
 It returns the lower/higher radius range where photons are allowed. More...
 
std::vector< Double_t > GetThickness ()
 It returns a vector with the values of mirror thickness. More...
 
void InitFromConfigFile () override
 Initialization of TRestAxionTrueWolterOptics field members through a RML file. More...
 
void Initialize () override
 Initialization of TRestAxionTrueWolterOptics members. More...
 
void PrintMetadata () override
 Prints on screen the information about the metadata members of TRestAxionTrueWolterOptics. More...
 
void PrintParameters ()
 It prints out the Wolter (relevant) parameters extracted from the optics data file, and other parameters calculated after those input parameters, such as the vertex and angles. More...
 
void PrintSpider ()
 It prints out the spider mask common to all the optical planes. More...
 
void SetMirror () override
 It must be implemented at the inherited optics, making use of fEntrancePosition. More...
 
 TRestAxionTrueWolterOptics ()
 Default constructor. More...
 
 TRestAxionTrueWolterOptics (const char *cfgFileName, std::string name="")
 Constructor loading data from a config file. More...
 
 ~TRestAxionTrueWolterOptics ()
 Default destructor. More...
 
- Public Member Functions inherited from TRestAxionOptics
Double_t CalculateSpotSize (Double_t energy, Double_t z, Int_t particles=15000)
 It measures the spot size through Monte Carlo at a given plane given by z. If z=0 this method will check for the spot size at the focal point, which is the default behaviour. More...
 
TPad * CreatePad (Int_t nx=1, Int_t ny=1)
 A prototype method to be implemented by specific optics to draw an schematic including the mirrors geometry. More...
 
TPad * DrawDensityMaps (Double_t z, Double_t energy=0, Double_t deviation=0, Int_t particles=1000, Double_t focalHint=7500)
 It implements a generic method to identify the optimum focal point. It can be reimplemented at each specific optics class. More...
 
virtual TPad * DrawMirrors ()=0
 It draws the mirrors using a TGraph. To be implemented at the inherited class. More...
 
TPad * DrawParticleTracks (Double_t deviation=0, Int_t particles=10)
 A method to draw an optics schematic including the mirrors geometry, and few photon tracks. This method is intended for debugging the photon tracking implementation. More...
 
TPad * DrawScatterMaps (Double_t z, Double_t energy=0, Double_t deviation=0, Int_t particles=1000, Double_t focalHint=7500)
 It implements a generic method to identify the optimum focal point. It can be reimplemented at each specific optics class. More...
 
virtual Double_t FindFocal (Double_t from, Double_t to, Double_t energy, Double_t precision=1, Bool_t recalculate=false, Int_t particles=5000)
 It implements a generic method to identify the optimum focal point. It can be reimplemented at each specific optics class. More...
 
virtual Int_t FirstMirrorReflection (const TVector3 &pos, const TVector3 &dir)=0
 It updates the values fFirstInteractionPosition and fMiddleDirection. Returns 0 if is not in region. More...
 
Double_t GetEntranceAngle ()
 It returns the entrance angle to the optical axis (in radians). More...
 
TVector3 GetEntranceDirection ()
 Returns the entrance position from the latest propagated photon. More...
 
TRestCombinedMask *const & GetEntranceMask () const
 Returns a pointer to access directly the entrance mask information. More...
 
TVector3 GetEntrancePosition ()
 Returns the entrance position from the latest propagated photon. More...
 
virtual Double_t GetEntrancePositionZ ()=0
 It returns the entrance Z-position defined by the optical axis. More...
 
TVector3 GetExitDirection ()
 Returns the exit position from the latest propagated photon. More...
 
TRestCombinedMask *const & GetExitMask () const
 Returns a pointer to access directly the exit mask information. More...
 
TVector3 GetExitPosition ()
 Returns the exit position from the latest propagated photon. More...
 
virtual Double_t GetExitPositionZ ()=0
 It returns the exit Z-position defined by the optical axis. More...
 
TVector3 GetLastGoodDirection ()
 It returns the last valid particle direction known in the particle tracking. More...
 
TVector3 GetLastGoodPosition ()
 It returns the last valid particle position known in the particle tracking. More...
 
TVector3 GetMiddleDirection ()
 Returns the middle position from the latest propagated photon. More...
 
TRestCombinedMask *const & GetMiddleMask () const
 Returns a pointer to access directly the middle mask information. More...
 
TVector3 GetMiddlePosition ()
 Returns the middle position from the latest propagated photon. More...
 
TRestAxionOpticsMirror *const & GetMirrorProperties () const
 Returns a pointer to access directly the exit mask information. More...
 
Int_t GetNumberOfReflections ()
 It returns the total number of reflections. Considering maximum 1-reflection per mirror. More...
 
virtual std::pair< Double_t, Double_t > GetRadialLimits ()=0
 It returns the lower/higher radius range where photons are allowed. More...
 
void InitFromConfigFile ()
 Initialization of TRestAxionOptics field members through a RML file. More...
 
virtual void Initialize ()
 Initialization of TRestAxionOptics members. More...
 
Bool_t IsFirstMirrorReflection ()
 It returns true if the photon got reflected in the first mirror. More...
 
Bool_t IsSecondMirrorReflection ()
 It returns true if the photon got reflected in the second mirror. More...
 
void PrintEntranceMask ()
 Prints on screen the mask used on the entrance optics plane. More...
 
void PrintExitMask ()
 Prints on screen the mask used on the exit optics plane. More...
 
void PrintMasks ()
 Prints on screen the 3-optical masks used on the optics planes. More...
 
void PrintMetadata ()
 Prints on screen the information about the metadata members of TRestAxionOptics. More...
 
void PrintMiddleMask ()
 Prints on screen the mask used on the middle optics plane. More...
 
void PrintMirror ()
 Prints on screen the 3-optical masks used on the optics planes. More...
 
void PrintPhotonTrackingSummary ()
 Prints the positions taken by the photon after ray-tracing that should have been updated using the method PropagatePhoton. More...
 
Double_t PropagateMonteCarloPhoton (Double_t energy, Double_t deviation)
 It will produce a MonteCarlo photon spatially distributed in XY as defined by the GetRadialLimits method (extended by 50%), and with direction along the Z-axis with a maximum deviation angle fixed by the deviation input parameter. If deviation=0 the photons will always be parallel to the z-axis. The photons will be launched from z=-3*fMirrorLength. More...
 
Double_t PropagatePhoton (const TVector3 &pos, const TVector3 &dir, Double_t energy)
 Propagating photon. More...
 
virtual Int_t SecondMirrorReflection (const TVector3 &pos, const TVector3 &dir)=0
 It updates the values fSecondInteractionPosition and fExitDirection. Returns 0 if is not in region. More...
 
 ~TRestAxionOptics ()
 Default destructor. More...
 

Private Member Functions

Int_t FirstMirrorReflection (const TVector3 &pos, const TVector3 &dir) override
 Implementation of first mirror interaction. It updates fFirstInteractionPosition and fMiddleDirection making use of fEntrancePosition and fEntranceDirection. More...
 
Int_t SecondMirrorReflection (const TVector3 &pos, const TVector3 &dir) override
 Implementation of first mirror interaction. It updates fSecondInteractionPosition and fExitDirection making use of fMiddlePosition and fMiddleDirection. More...
 

Private Attributes

std::vector< Double_t > fAlpha
 Mirror angle (alpha) in radians. See schematic figure. More...
 
std::vector< Double_t > fBackVertex
 The Z-position of the cone vertex defined by the back mirrors. More...
 
std::vector< Double_t > fCosAlpha
 Mirror pre-calculated cosine angle (alpha). See schematic figure. More...
 
std::vector< Double_t > fCosAlpha_3
 Mirror pre-calculated cosine angle (alpha). See schematic figure. More...
 
TRestRingsMaskfEntranceRingsMask = nullptr
 The rings structure to be used at entrance as an optical opaque mask. More...
 
TRestRingsMaskfExitRingsMask = nullptr
 The rings structure to be used at entrance as an optical opaque mask. More...
 
std::vector< Double_t > fFrontVertex
 The Z-position of the cone vertex defined by the front mirrors. More...
 
TRestRingsMaskfMiddleRingsMask = nullptr
 The rings structure to be used at entrance as an optical opaque mask. More...
 
std::vector< Double_t > fR1
 Entrance radius R1 in mm. See schematic figure. More...
 
std::vector< Double_t > fR2
 Radius R2 in mm. See schematic figure. More...
 
std::vector< Double_t > fR3
 Radius R3 in mm. See schematic figure. More...
 
std::vector< Double_t > fR4
 Radius R4 in mm. See schematic figure. More...
 
std::vector< Double_t > fR5
 Radius R5 in mm. See schematic figure. More...
 
TRestSpiderMaskfSpiderMask = nullptr
 The spider structure to be used as an optical opaque mask (common to all planes) More...
 
std::vector< Double_t > fThickness
 Mirror thickness in mm. See schematic figure. More...
 
std::vector< Double_t > fXSep
 

Additional Inherited Members

- Protected Member Functions inherited from TRestAxionOptics
Int_t GetMirror ()
 It returns the mirror index to be used in the photon reflection. More...
 
virtual void SetMirror ()=0
 It must be implemented at the inherited optics, making use of fEntrancePosition. More...
 
Int_t TransportToEntrance (const TVector3 &pos, const TVector3 &dir)
 It moves the incoming particle at the entrance of the optics plane and returns the region number where the particle is entering. More...
 
Int_t TransportToExit (const TVector3 &pos, const TVector3 &dir)
 It moves the incoming particle to the exit of the optics plane and returns the region number where the particle is entering. More...
 
Int_t TransportToMiddle (const TVector3 &pos, const TVector3 &dir)
 It moves the incoming particle to the middle of the optics plane and returns the region number where the particle is entering. More...
 
 TRestAxionOptics ()
 Default constructor. More...
 
 TRestAxionOptics (const char *cfgFileName, std::string name="")
 Constructor loading data from a config file. More...
 
- Protected Attributes inherited from TRestAxionOptics
Int_t fCurrentMirror = -1
 During the photon propagation it keeps track of the active mirror shell. More...
 
TVector3 fEntranceDirection
 The particle position at the optics plane entrance. More...
 
TRestCombinedMaskfEntranceMask = nullptr
 The entrance optical mask that defines a pattern with regions identified with a number. More...
 
TVector3 fEntrancePosition
 The particle position at the optics plane entrance. More...
 
TVector3 fExitDirection
 The particle position at the optics plane exit. More...
 
TRestCombinedMaskfExitMask = nullptr
 The exit optical mask that defines a pattern with regions identified with a number. More...
 
TVector3 fExitPosition
 The particle position at the optics plane exit. More...
 
Bool_t fFirstInteraction = false
 During the photon propagation it tells us if the photon interacted in the first mirror. More...
 
TVector3 fFirstInteractionPosition
 The particle position at the front mirror interaction point. More...
 
Double_t fFocal = -1
 The calculated focal in mm. It is updated by the method TRestAxionOptics::FindFocal. More...
 
TVector3 fMiddleDirection
 The particle position at the optics plane middle. More...
 
TRestCombinedMaskfMiddleMask = nullptr
 The middle optical mask that defines a pattern with regions identified with a number. More...
 
TVector3 fMiddlePosition
 The particle position at the optics plane middle. More...
 
Double_t fMirrorLength = 0
 The mirror length. If all mirrors got the same length. Otherwise will be zero. More...
 
TRestAxionOpticsMirrorfMirrorProperties = nullptr
 The mirror properties. More...
 
std::vector< std::vector< Double_t > > fOpticsData
 The optics data table extracted from fOpticsFile. More...
 
std::string fOpticsFile = ""
 An optics file that contains all the specific optics parameters. More...
 
TVector3 fOriginPosition
 The particle position at the origin. More...
 
TPad * fPad = nullptr
 A pad pointer to be used by the drawing methods. More...
 
TRandom3 * fRandom = nullptr
 Random number generator. More...
 
Bool_t fSecondInteraction = false
 During the photon propagation it tells us if the photon interacted in the second mirror. More...
 
TVector3 fSecondInteractionPosition
 The particle position at the back mirror interaction point. More...
 

Constructor & Destructor Documentation

◆ TRestAxionTrueWolterOptics() [1/2]

TRestAxionTrueWolterOptics::TRestAxionTrueWolterOptics ( )

Default constructor.

Definition at line 130 of file TRestAxionTrueWolterOptics.cxx.

◆ TRestAxionTrueWolterOptics() [2/2]

TRestAxionTrueWolterOptics::TRestAxionTrueWolterOptics ( const char *  cfgFileName,
std::string  name = "" 
)

Constructor loading data from a config file.

If no configuration path is defined using TRestMetadata::SetConfigFilePath the path to the config file must be specified using full path, absolute or relative.

The default behaviour is that the config file must be specified with full path, absolute or relative.

Parameters
cfgFileNameA const char* giving the path to an RML file.
nameThe name of the specific metadata. It will be used to find the corresponding TRestAxionTrueWolterOptics section inside the RML.

Definition at line 151 of file TRestAxionTrueWolterOptics.cxx.

◆ ~TRestAxionTrueWolterOptics()

TRestAxionTrueWolterOptics::~TRestAxionTrueWolterOptics ( )

Default destructor.

Definition at line 135 of file TRestAxionTrueWolterOptics.cxx.

Member Function Documentation

◆ DrawMirrors()

TPad * TRestAxionTrueWolterOptics::DrawMirrors ( )
overridevirtual

A method to to draw an optics schematic including the mirrors geometry.

Implements TRestAxionOptics.

Definition at line 418 of file TRestAxionTrueWolterOptics.cxx.

◆ FirstMirrorReflection()

Int_t TRestAxionTrueWolterOptics::FirstMirrorReflection ( const TVector3 &  pos,
const TVector3 &  dir 
)
overrideprivatevirtual

Implementation of first mirror interaction. It updates fFirstInteractionPosition and fMiddleDirection making use of fEntrancePosition and fEntranceDirection.

Implements TRestAxionOptics.

Definition at line 267 of file TRestAxionTrueWolterOptics.cxx.

◆ GetAlpha()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetAlpha ( )
inline

It returns a vector with the values of alpha.

Definition at line 122 of file TRestAxionTrueWolterOptics.h.

◆ GetEntrancePositionZ()

Double_t TRestAxionTrueWolterOptics::GetEntrancePositionZ ( )
inlineoverridevirtual

It returns the entrance Z-position defined by the optical axis.

Implements TRestAxionOptics.

Definition at line 135 of file TRestAxionTrueWolterOptics.h.

◆ GetExitPositionZ()

Double_t TRestAxionTrueWolterOptics::GetExitPositionZ ( )
inlineoverridevirtual

It returns the exit Z-position defined by the optical axis.

Implements TRestAxionOptics.

Definition at line 141 of file TRestAxionTrueWolterOptics.h.

◆ GetR1()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetR1 ( )
inline

It returns a vector with the values of R1.

Definition at line 92 of file TRestAxionTrueWolterOptics.h.

◆ GetR2()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetR2 ( )
inline

It returns a vector with the values of R2.

Definition at line 98 of file TRestAxionTrueWolterOptics.h.

◆ GetR3()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetR3 ( )
inline

It returns a vector with the values of R3.

Definition at line 104 of file TRestAxionTrueWolterOptics.h.

◆ GetR4()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetR4 ( )
inline

It returns a vector with the values of R4.

Definition at line 110 of file TRestAxionTrueWolterOptics.h.

◆ GetR5()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetR5 ( )
inline

It returns a vector with the values of R5.

Definition at line 116 of file TRestAxionTrueWolterOptics.h.

◆ GetRadialLimits()

std::pair< Double_t, Double_t > TRestAxionTrueWolterOptics::GetRadialLimits ( )
inlineoverridevirtual

It returns the lower/higher radius range where photons are allowed.

Implements TRestAxionOptics.

Definition at line 146 of file TRestAxionTrueWolterOptics.h.

◆ GetThickness()

std::vector< Double_t > TRestAxionTrueWolterOptics::GetThickness ( )
inline

It returns a vector with the values of mirror thickness.

Definition at line 129 of file TRestAxionTrueWolterOptics.h.

◆ InitFromConfigFile()

void TRestAxionTrueWolterOptics::InitFromConfigFile ( )
overridevirtual

Initialization of TRestAxionTrueWolterOptics field members through a RML file.

Reimplemented from TRestAxionOptics.

Definition at line 362 of file TRestAxionTrueWolterOptics.cxx.

◆ Initialize()

void TRestAxionTrueWolterOptics::Initialize ( )
overridevirtual

Initialization of TRestAxionTrueWolterOptics members.

Initializing Entrance mask

Initializing Middle mask

Initializing Exit mask

Reimplemented from TRestAxionOptics.

Definition at line 165 of file TRestAxionTrueWolterOptics.cxx.

◆ PrintMetadata()

void TRestAxionTrueWolterOptics::PrintMetadata ( )
overridevirtual

Prints on screen the information about the metadata members of TRestAxionTrueWolterOptics.

Reimplemented from TRestAxionOptics.

Definition at line 413 of file TRestAxionTrueWolterOptics.cxx.

◆ PrintParameters()

void TRestAxionTrueWolterOptics::PrintParameters ( )

It prints out the Wolter (relevant) parameters extracted from the optics data file, and other parameters calculated after those input parameters, such as the vertex and angles.

It will also evaluate the precision loss due to angle to mirror raddius transformation.

Definition at line 387 of file TRestAxionTrueWolterOptics.cxx.

◆ PrintSpider()

void TRestAxionTrueWolterOptics::PrintSpider ( )

It prints out the spider mask common to all the optical planes.

Definition at line 406 of file TRestAxionTrueWolterOptics.cxx.

◆ SecondMirrorReflection()

Int_t TRestAxionTrueWolterOptics::SecondMirrorReflection ( const TVector3 &  pos,
const TVector3 &  dir 
)
overrideprivatevirtual

Implementation of first mirror interaction. It updates fSecondInteractionPosition and fExitDirection making use of fMiddlePosition and fMiddleDirection.

Implements TRestAxionOptics.

Definition at line 318 of file TRestAxionTrueWolterOptics.cxx.

◆ SetMirror()

void TRestAxionTrueWolterOptics::SetMirror ( )
inlineoverridevirtual

It must be implemented at the inherited optics, making use of fEntrancePosition.

Implements TRestAxionOptics.

Definition at line 154 of file TRestAxionTrueWolterOptics.h.

Field Documentation

◆ fAlpha

std::vector<Double_t> TRestAxionTrueWolterOptics::fAlpha
private

Mirror angle (alpha) in radians. See schematic figure.

Definition at line 51 of file TRestAxionTrueWolterOptics.h.

◆ fBackVertex

std::vector<Double_t> TRestAxionTrueWolterOptics::fBackVertex
private

The Z-position of the cone vertex defined by the back mirrors.

Definition at line 83 of file TRestAxionTrueWolterOptics.h.

◆ fCosAlpha

std::vector<Double_t> TRestAxionTrueWolterOptics::fCosAlpha
private

Mirror pre-calculated cosine angle (alpha). See schematic figure.

Definition at line 74 of file TRestAxionTrueWolterOptics.h.

◆ fCosAlpha_3

std::vector<Double_t> TRestAxionTrueWolterOptics::fCosAlpha_3
private

Mirror pre-calculated cosine angle (alpha). See schematic figure.

Definition at line 77 of file TRestAxionTrueWolterOptics.h.

◆ fEntranceRingsMask

TRestRingsMask* TRestAxionTrueWolterOptics::fEntranceRingsMask = nullptr
private

The rings structure to be used at entrance as an optical opaque mask.

Definition at line 65 of file TRestAxionTrueWolterOptics.h.

◆ fExitRingsMask

TRestRingsMask* TRestAxionTrueWolterOptics::fExitRingsMask = nullptr
private

The rings structure to be used at entrance as an optical opaque mask.

Definition at line 71 of file TRestAxionTrueWolterOptics.h.

◆ fFrontVertex

std::vector<Double_t> TRestAxionTrueWolterOptics::fFrontVertex
private

The Z-position of the cone vertex defined by the front mirrors.

Definition at line 80 of file TRestAxionTrueWolterOptics.h.

◆ fMiddleRingsMask

TRestRingsMask* TRestAxionTrueWolterOptics::fMiddleRingsMask = nullptr
private

The rings structure to be used at entrance as an optical opaque mask.

Definition at line 68 of file TRestAxionTrueWolterOptics.h.

◆ fR1

std::vector<Double_t> TRestAxionTrueWolterOptics::fR1
private

Entrance radius R1 in mm. See schematic figure.

Definition at line 36 of file TRestAxionTrueWolterOptics.h.

◆ fR2

std::vector<Double_t> TRestAxionTrueWolterOptics::fR2
private

Radius R2 in mm. See schematic figure.

Definition at line 39 of file TRestAxionTrueWolterOptics.h.

◆ fR3

std::vector<Double_t> TRestAxionTrueWolterOptics::fR3
private

Radius R3 in mm. See schematic figure.

Definition at line 42 of file TRestAxionTrueWolterOptics.h.

◆ fR4

std::vector<Double_t> TRestAxionTrueWolterOptics::fR4
private

Radius R4 in mm. See schematic figure.

Definition at line 45 of file TRestAxionTrueWolterOptics.h.

◆ fR5

std::vector<Double_t> TRestAxionTrueWolterOptics::fR5
private

Radius R5 in mm. See schematic figure.

Definition at line 48 of file TRestAxionTrueWolterOptics.h.

◆ fSpiderMask

TRestSpiderMask* TRestAxionTrueWolterOptics::fSpiderMask = nullptr
private

The spider structure to be used as an optical opaque mask (common to all planes)

Definition at line 62 of file TRestAxionTrueWolterOptics.h.

◆ fThickness

std::vector<Double_t> TRestAxionTrueWolterOptics::fThickness
private

Mirror thickness in mm. See schematic figure.

Definition at line 54 of file TRestAxionTrueWolterOptics.h.

◆ fXSep

std::vector<Double_t> TRestAxionTrueWolterOptics::fXSep
private

Distance between mirror stacks in mm. See schematic figure. This is here calculated using the functions from https://backend.orbit.dtu.dk/ws/portalfiles/portal/122353510/phdthesis_for_DTU_orbit.pdf.

Definition at line 59 of file TRestAxionTrueWolterOptics.h.


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