Belle II Software  release-08-01-10
ARICHGeoHAPD Class Reference

Geometry parameters of HAPD. More...

#include <ARICHGeoHAPD.h>

Inheritance diagram for ARICHGeoHAPD:
Collaboration diagram for ARICHGeoHAPD:

Public Member Functions

 ARICHGeoHAPD ()
 Default constructor.
 
void setWallThickness (double thickness)
 Set wall thickness. More...
 
void setWinThickness (double thickness)
 Set window thickness. More...
 
void setPadSize (double padSize)
 Set pad size. More...
 
void setChipGap (double chipGap)
 Set gap between APD chips. More...
 
void setNPads (int nx, int ny)
 Set number of pads in x and y direction. More...
 
void setWinRefIndex (double refInd)
 Set refractive index of HAPD window. More...
 
void setModuleSizeZ (double modZ)
 Set module size in Z (height of HAPD + FEB) More...
 
void setWallMaterial (const std::string &material)
 Sets casing material. More...
 
void setWinMaterial (const std::string &material)
 Set window material. More...
 
void setAPDMaterial (const std::string &material)
 Sets APD material. More...
 
void setFEBMaterial (const std::string &material)
 Sets FEB material. More...
 
void setFillMaterial (const std::string &material)
 Sets material inside of HAPD (vacuum with set ref. More...
 
void setFEBVolume (double sizeX, double sizeY, double sizeZ, const std::string &material)
 Sets FEB volume. More...
 
void setAPDVolume (double sizeX, double sizeY, double sizeZ, const std::string &material, const GeoOpticalSurface &surf)
 Sets APD volume (single volume for all 4 chips) More...
 
void setHAPDVolume (double sizeX, double sizeY, double sizeZ, const std::string &material)
 Sets HAPD volume. More...
 
double getSizeX () const
 Returns HAPD size in x. More...
 
double getSizeY () const
 Returns HAPD size in y. More...
 
double getSizeZ () const
 Returns HAPD size in z. More...
 
double getWallThickness () const
 Returns wall thickness. More...
 
double getWinThickness () const
 Returns window thickness. More...
 
double getAPDSizeX () const
 Returns APD size in x. More...
 
double getAPDSizeY () const
 Returns APD size in y. More...
 
double getAPDSizeZ () const
 Returns APD size in z. More...
 
double getFEBSizeX () const
 Returns FEB size in x. More...
 
double getFEBSizeY () const
 Returns FEB size in y. More...
 
double getFEBSizeZ () const
 Returns FEB size in z. More...
 
double getModuleSizeZ () const
 Returns module size in z (HAPD + FEB height) More...
 
double getWinRefIndex () const
 Returns window refractive index. More...
 
double getPadSize () const
 Returns APD pad size. More...
 
double getChipGap () const
 Returns gap between APD chips. More...
 
unsigned getNumPadsX () const
 Returns number of X pads. More...
 
unsigned getNumPadsY () const
 Returns number of Y pads. More...
 
const std::string & getWallMaterial () const
 Returns wall (casing) material name. More...
 
const std::string & getFillMaterial () const
 Returns fill (inside) material name. More...
 
const std::string & getWinMaterial () const
 Returns window material name. More...
 
const std::string & getAPDMaterial () const
 Returns APD material name. More...
 
const std::string & getFEBMaterial () const
 Returns FEB material name. More...
 
const GeoOpticalSurfacegetAPDSurface () const
 Returns APD reflective optical surface. More...
 
void getXYChannel (double x, double y, int &chX, int &chY) const
 Returns X and Y channel number from local x,y position. More...
 
unsigned getChipID (double x, double y) const
 Returns APD chip ID from from local x,y position. More...
 
void getXYChannelPos (int chX, int chY, double &x, double &y) const
 Returns local x,y position from channel X,Y numbers. More...
 
double getPhotocathodeApdDistance () const
 Returns distance between photocathode and APD. More...
 
bool isConsistent () const override
 Check consistency of geometry parameters. More...
 
void print (const std::string &title="HAPD module geometry parameters") const override
 Print the content of the class. More...
 
void setName (const std::string &name)
 Sets object name. More...
 
const std::string & getName () const
 Returns object name. More...
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface. More...
 
virtual void printPlacement (double x, double y, double z, double rx, double ry, double rz) const
 Print volume positioning parameters. More...
 

Protected Member Functions

 ClassDef (ARICHGeoBase, 2)
 ClassDef.
 

Protected Attributes

std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

 ClassDefOverride (ARICHGeoHAPD, 1)
 ClassDef.
 

Private Attributes

std::string m_wallMaterial
 material of HAPD side walls
 
std::string m_winMaterial
 material of HAPD window
 
std::string m_apdMaterial
 material of APD chips
 
std::string m_febMaterial
 material of FEB
 
std::string m_fillMaterial
 material that fills the HAPD
 
double m_HAPDSizeX = 0
 HAPD X size.
 
double m_HAPDSizeY = 0
 HAPD Y size.
 
double m_HAPDSizeZ = 0
 HAPD Z size.
 
double m_wallThickness = 0
 HAPD side wall thickness.
 
double m_winThickness = 0
 HAPD window thickness.
 
double m_padSize = 0
 pad size
 
double m_chipGap = 0
 gap between APD chips
 
unsigned m_nPadX = 0
 number of pads in X
 
unsigned m_nPadY = 0
 number of pads in Y
 
double m_winRefIndex = 0
 window refractive index
 
double m_APDSizeX = 0
 APD X size.
 
double m_APDSizeY = 0
 APD Y size.
 
double m_APDSizeZ = 0
 APD Z size.
 
double m_FEBSizeX = 0
 FEB X size.
 
double m_FEBSizeY = 0
 FEB Y size.
 
double m_FEBSizeZ = 0
 FEB Z size.
 
double m_moduleSizeZ = 0
 HAPD module Z size (HAPD + FEB height)
 
GeoOpticalSurface m_apdSurface
 optical surface of APD (for reflectivity)
 

Detailed Description

Geometry parameters of HAPD.

Definition at line 24 of file ARICHGeoHAPD.h.

Member Function Documentation

◆ getAPDMaterial()

const std::string& getAPDMaterial ( ) const
inline

Returns APD material name.

Returns
material name

Definition at line 283 of file ARICHGeoHAPD.h.

283 {return m_apdMaterial;}
std::string m_apdMaterial
material of APD chips
Definition: ARICHGeoHAPD.h:350

◆ getAPDSizeX()

double getAPDSizeX ( ) const
inline

Returns APD size in x.

Returns
APD size in x

Definition at line 192 of file ARICHGeoHAPD.h.

◆ getAPDSizeY()

double getAPDSizeY ( ) const
inline

Returns APD size in y.

Returns
APD size in y

Definition at line 198 of file ARICHGeoHAPD.h.

◆ getAPDSizeZ()

double getAPDSizeZ ( ) const
inline

Returns APD size in z.

Returns
size in z

Definition at line 204 of file ARICHGeoHAPD.h.

◆ getAPDSurface()

const GeoOpticalSurface& getAPDSurface ( ) const
inline

Returns APD reflective optical surface.

Returns
optical surface

Definition at line 295 of file ARICHGeoHAPD.h.

◆ getChipGap()

double getChipGap ( ) const
inline

Returns gap between APD chips.

Returns
chip gap size

Definition at line 246 of file ARICHGeoHAPD.h.

◆ getChipID()

unsigned getChipID ( double  x,
double  y 
) const

Returns APD chip ID from from local x,y position.

Parameters
xlocal x position
ylocal y position
Returns
APD chip ID

Definition at line 45 of file ARICHGeoHAPD.cc.

46 {
47  if (x > 0) {
48  if (y > 0) return 0;
49  return 1;
50  }
51  if (y > 0) return 2;
52  return 3;
53 }

◆ getFEBMaterial()

const std::string& getFEBMaterial ( ) const
inline

Returns FEB material name.

Returns
material name

Definition at line 289 of file ARICHGeoHAPD.h.

◆ getFEBSizeX()

double getFEBSizeX ( ) const
inline

Returns FEB size in x.

Returns
size in x

Definition at line 210 of file ARICHGeoHAPD.h.

◆ getFEBSizeY()

double getFEBSizeY ( ) const
inline

Returns FEB size in y.

Returns
size in y

Definition at line 216 of file ARICHGeoHAPD.h.

◆ getFEBSizeZ()

double getFEBSizeZ ( ) const
inline

Returns FEB size in z.

Returns
size in z

Definition at line 222 of file ARICHGeoHAPD.h.

◆ getFillMaterial()

const std::string& getFillMaterial ( ) const
inline

Returns fill (inside) material name.

Returns
material name

Definition at line 271 of file ARICHGeoHAPD.h.

◆ getModuleSizeZ()

double getModuleSizeZ ( ) const
inline

Returns module size in z (HAPD + FEB height)

Returns
size in z

Definition at line 228 of file ARICHGeoHAPD.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

◆ getNumPadsX()

unsigned getNumPadsX ( ) const
inline

Returns number of X pads.

Returns
num x pads

Definition at line 252 of file ARICHGeoHAPD.h.

◆ getNumPadsY()

unsigned getNumPadsY ( ) const
inline

Returns number of Y pads.

Returns
num y pads

Definition at line 258 of file ARICHGeoHAPD.h.

◆ getPadSize()

double getPadSize ( ) const
inline

Returns APD pad size.

Returns
APD pad size

Definition at line 240 of file ARICHGeoHAPD.h.

◆ getPhotocathodeApdDistance()

double getPhotocathodeApdDistance ( ) const
inline

Returns distance between photocathode and APD.

Returns
photacathod APD distance

Definition at line 328 of file ARICHGeoHAPD.h.

◆ getSizeX()

double getSizeX ( ) const
inline

Returns HAPD size in x.

Returns
HAPD size in x

Definition at line 162 of file ARICHGeoHAPD.h.

◆ getSizeY()

double getSizeY ( ) const
inline

Returns HAPD size in y.

Returns
HAPD size in y

Definition at line 168 of file ARICHGeoHAPD.h.

◆ getSizeZ()

double getSizeZ ( ) const
inline

Returns HAPD size in z.

Returns
size in z

Definition at line 174 of file ARICHGeoHAPD.h.

◆ getWallMaterial()

const std::string& getWallMaterial ( ) const
inline

Returns wall (casing) material name.

Returns
material name

Definition at line 265 of file ARICHGeoHAPD.h.

◆ getWallThickness()

double getWallThickness ( ) const
inline

Returns wall thickness.

Returns
wall thickness

Definition at line 180 of file ARICHGeoHAPD.h.

◆ getWinMaterial()

const std::string& getWinMaterial ( ) const
inline

Returns window material name.

Returns
material name

Definition at line 277 of file ARICHGeoHAPD.h.

◆ getWinRefIndex()

double getWinRefIndex ( ) const
inline

Returns window refractive index.

Returns
refractive index

Definition at line 234 of file ARICHGeoHAPD.h.

◆ getWinThickness()

double getWinThickness ( ) const
inline

Returns window thickness.

Returns
window thickness

Definition at line 186 of file ARICHGeoHAPD.h.

◆ getXYChannel()

void getXYChannel ( double  x,
double  y,
int &  chX,
int &  chY 
) const

Returns X and Y channel number from local x,y position.

Parameters
xlocal x position
ylocal y position
chXX channel
chYY channel

Definition at line 27 of file ARICHGeoHAPD.cc.

◆ getXYChannelPos()

void getXYChannelPos ( int  chX,
int  chY,
double &  x,
double &  y 
) const

Returns local x,y position from channel X,Y numbers.

Parameters
chXchannel X number
chYchannel Y number
xchannel local x position
ychannel local y position

Definition at line 15 of file ARICHGeoHAPD.cc.

◆ isConsistent()

bool isConsistent ( ) const
overridevirtual

Check consistency of geometry parameters.

Returns
true if consistent

Reimplemented from ARICHGeoBase.

Definition at line 56 of file ARICHGeoHAPD.cc.

◆ print()

void print ( const std::string &  title = "HAPD module geometry parameters") const
overridevirtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 85 of file ARICHGeoHAPD.cc.

◆ printPlacement()

void printPlacement ( double  x,
double  y,
double  z,
double  rx,
double  ry,
double  rz 
) const
virtualinherited

Print volume positioning parameters.

Parameters
xx position
yy position
zz position
rxrotation around x-axis
ryrotation around y-axis
rzrotation around z-axis

Definition at line 25 of file ARICHGeoBase.cc.

◆ printSurface()

void printSurface ( const GeoOpticalSurface surface) const
virtualinherited

Print the content of optical surface.

Parameters
surfaceoptical surface parameters

Definition at line 32 of file ARICHGeoBase.cc.

◆ setAPDMaterial()

void setAPDMaterial ( const std::string &  material)
inline

Sets APD material.

Parameters
APDmaterial name

Definition at line 93 of file ARICHGeoHAPD.h.

◆ setAPDVolume()

void setAPDVolume ( double  sizeX,
double  sizeY,
double  sizeZ,
const std::string &  material,
const GeoOpticalSurface surf 
)
inline

Sets APD volume (single volume for all 4 chips)

Parameters
sizeXsize in x
sizeYsize in y
sizeZsize in z
APDmaterial name
APDoptical surface properties

Definition at line 131 of file ARICHGeoHAPD.h.

◆ setChipGap()

void setChipGap ( double  chipGap)
inline

Set gap between APD chips.

Parameters
chipGapgap between APD chips

Definition at line 56 of file ARICHGeoHAPD.h.

◆ setFEBMaterial()

void setFEBMaterial ( const std::string &  material)
inline

Sets FEB material.

Parameters
FEBmaterial name

Definition at line 99 of file ARICHGeoHAPD.h.

◆ setFEBVolume()

void setFEBVolume ( double  sizeX,
double  sizeY,
double  sizeZ,
const std::string &  material 
)
inline

Sets FEB volume.

Parameters
sizeXsize in x
sizeYsize in y
sizeZsize in z
FEBmaterial

Definition at line 114 of file ARICHGeoHAPD.h.

◆ setFillMaterial()

void setFillMaterial ( const std::string &  material)
inline

Sets material inside of HAPD (vacuum with set ref.

index)

Parameters
fillmaterial name

Definition at line 105 of file ARICHGeoHAPD.h.

◆ setHAPDVolume()

void setHAPDVolume ( double  sizeX,
double  sizeY,
double  sizeZ,
const std::string &  material 
)
inline

Sets HAPD volume.

Parameters
sizeXsize in x
sizeYsize in y
sizeZsize in z
fillmaterial

Definition at line 148 of file ARICHGeoHAPD.h.

◆ setModuleSizeZ()

void setModuleSizeZ ( double  modZ)
inline

Set module size in Z (height of HAPD + FEB)

Parameters
modZHAPD module height

Definition at line 75 of file ARICHGeoHAPD.h.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

◆ setNPads()

void setNPads ( int  nx,
int  ny 
)
inline

Set number of pads in x and y direction.

Parameters
nxnumber of pads in x
nynumber of pads in y

Definition at line 63 of file ARICHGeoHAPD.h.

◆ setPadSize()

void setPadSize ( double  padSize)
inline

Set pad size.

Parameters
padSizepad size

Definition at line 50 of file ARICHGeoHAPD.h.

◆ setWallMaterial()

void setWallMaterial ( const std::string &  material)
inline

Sets casing material.

Parameters
materialcasing material name

Definition at line 81 of file ARICHGeoHAPD.h.

◆ setWallThickness()

void setWallThickness ( double  thickness)
inline

Set wall thickness.

Parameters
thicknesswall thickness

Definition at line 38 of file ARICHGeoHAPD.h.

◆ setWinMaterial()

void setWinMaterial ( const std::string &  material)
inline

Set window material.

Parameters
windowmaterial name

Definition at line 87 of file ARICHGeoHAPD.h.

◆ setWinRefIndex()

void setWinRefIndex ( double  refInd)
inline

Set refractive index of HAPD window.

Parameters
refIndwindow refractive index

Definition at line 69 of file ARICHGeoHAPD.h.

◆ setWinThickness()

void setWinThickness ( double  thickness)
inline

Set window thickness.

Parameters
thicknesswindow thickness

Definition at line 44 of file ARICHGeoHAPD.h.


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