Belle II Software development
ARICHGeoHAPD Class Reference

Geometry parameters of HAPD. More...

#include <ARICHGeoHAPD.h>

Inheritance diagram for ARICHGeoHAPD:
ARICHGeoBase

Public Member Functions

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

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.

Constructor & Destructor Documentation

◆ ARICHGeoHAPD()

ARICHGeoHAPD ( )
inline

Default constructor.

Definition at line 31 of file ARICHGeoHAPD.h.

32 {}

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.

192{return m_APDSizeX / s_unit;}
static double s_unit
conversion unit for length
Definition: ARICHGeoBase.h:83
double m_APDSizeX
APD X size.
Definition: ARICHGeoHAPD.h:363

◆ getAPDSizeY()

double getAPDSizeY ( ) const
inline

Returns APD size in y.

Returns
APD size in y

Definition at line 198 of file ARICHGeoHAPD.h.

198{return m_APDSizeY / s_unit;}
double m_APDSizeY
APD Y size.
Definition: ARICHGeoHAPD.h:364

◆ getAPDSizeZ()

double getAPDSizeZ ( ) const
inline

Returns APD size in z.

Returns
size in z

Definition at line 204 of file ARICHGeoHAPD.h.

204{return m_APDSizeZ / s_unit;}
double m_APDSizeZ
APD Z size.
Definition: ARICHGeoHAPD.h:365

◆ getAPDSurface()

const GeoOpticalSurface & getAPDSurface ( ) const
inline

Returns APD reflective optical surface.

Returns
optical surface

Definition at line 295 of file ARICHGeoHAPD.h.

295{return m_apdSurface;}
GeoOpticalSurface m_apdSurface
optical surface of APD (for reflectivity)
Definition: ARICHGeoHAPD.h:370

◆ getChipGap()

double getChipGap ( ) const
inline

Returns gap between APD chips.

Returns
chip gap size

Definition at line 246 of file ARICHGeoHAPD.h.

246{return m_chipGap / s_unit;}
double m_chipGap
gap between APD chips
Definition: ARICHGeoHAPD.h:359

◆ 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.

289{return m_febMaterial;}
std::string m_febMaterial
material of FEB
Definition: ARICHGeoHAPD.h:351

◆ getFEBSizeX()

double getFEBSizeX ( ) const
inline

Returns FEB size in x.

Returns
size in x

Definition at line 210 of file ARICHGeoHAPD.h.

210{return m_FEBSizeX / s_unit;}
double m_FEBSizeX
FEB X size.
Definition: ARICHGeoHAPD.h:366

◆ getFEBSizeY()

double getFEBSizeY ( ) const
inline

Returns FEB size in y.

Returns
size in y

Definition at line 216 of file ARICHGeoHAPD.h.

216{return m_FEBSizeY / s_unit;}
double m_FEBSizeY
FEB Y size.
Definition: ARICHGeoHAPD.h:367

◆ getFEBSizeZ()

double getFEBSizeZ ( ) const
inline

Returns FEB size in z.

Returns
size in z

Definition at line 222 of file ARICHGeoHAPD.h.

222{return m_FEBSizeZ / s_unit;}
double m_FEBSizeZ
FEB Z size.
Definition: ARICHGeoHAPD.h:368

◆ getFillMaterial()

const std::string & getFillMaterial ( ) const
inline

Returns fill (inside) material name.

Returns
material name

Definition at line 271 of file ARICHGeoHAPD.h.

271{return m_fillMaterial;}
std::string m_fillMaterial
material that fills the HAPD
Definition: ARICHGeoHAPD.h:352

◆ 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.

228{return m_moduleSizeZ / s_unit;}
double m_moduleSizeZ
HAPD module Z size (HAPD + FEB height)
Definition: ARICHGeoHAPD.h:369

◆ getName()

const std::string & getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

49{return m_name;}
std::string m_name
geometry object name
Definition: ARICHGeoBase.h:82

◆ getNumPadsX()

unsigned getNumPadsX ( ) const
inline

Returns number of X pads.

Returns
num x pads

Definition at line 252 of file ARICHGeoHAPD.h.

252{return m_nPadX;}
unsigned m_nPadX
number of pads in X
Definition: ARICHGeoHAPD.h:360

◆ getNumPadsY()

unsigned getNumPadsY ( ) const
inline

Returns number of Y pads.

Returns
num y pads

Definition at line 258 of file ARICHGeoHAPD.h.

258{return m_nPadY;}
unsigned m_nPadY
number of pads in Y
Definition: ARICHGeoHAPD.h:361

◆ getPadSize()

double getPadSize ( ) const
inline

Returns APD pad size.

Returns
APD pad size

Definition at line 240 of file ARICHGeoHAPD.h.

240{return m_padSize / s_unit;}
double m_padSize
pad size
Definition: ARICHGeoHAPD.h:358

◆ getPhotocathodeApdDistance()

double getPhotocathodeApdDistance ( ) const
inline

Returns distance between photocathode and APD.

Returns
photacathod APD distance

Definition at line 328 of file ARICHGeoHAPD.h.

329 {
331 }
double m_HAPDSizeZ
HAPD Z size.
Definition: ARICHGeoHAPD.h:355
double m_wallThickness
HAPD side wall thickness.
Definition: ARICHGeoHAPD.h:356
double m_winThickness
HAPD window thickness.
Definition: ARICHGeoHAPD.h:357

◆ getSizeX()

double getSizeX ( ) const
inline

Returns HAPD size in x.

Returns
HAPD size in x

Definition at line 162 of file ARICHGeoHAPD.h.

162{return m_HAPDSizeX / s_unit;}
double m_HAPDSizeX
HAPD X size.
Definition: ARICHGeoHAPD.h:353

◆ getSizeY()

double getSizeY ( ) const
inline

Returns HAPD size in y.

Returns
HAPD size in y

Definition at line 168 of file ARICHGeoHAPD.h.

168{return m_HAPDSizeY / s_unit;}
double m_HAPDSizeY
HAPD Y size.
Definition: ARICHGeoHAPD.h:354

◆ getSizeZ()

double getSizeZ ( ) const
inline

Returns HAPD size in z.

Returns
size in z

Definition at line 174 of file ARICHGeoHAPD.h.

174{return m_HAPDSizeZ / s_unit;}

◆ getWallMaterial()

const std::string & getWallMaterial ( ) const
inline

Returns wall (casing) material name.

Returns
material name

Definition at line 265 of file ARICHGeoHAPD.h.

265{return m_wallMaterial;}
std::string m_wallMaterial
material of HAPD side walls
Definition: ARICHGeoHAPD.h:348

◆ getWallThickness()

double getWallThickness ( ) const
inline

Returns wall thickness.

Returns
wall thickness

Definition at line 180 of file ARICHGeoHAPD.h.

180{return m_wallThickness / s_unit;}

◆ getWinMaterial()

const std::string & getWinMaterial ( ) const
inline

Returns window material name.

Returns
material name

Definition at line 277 of file ARICHGeoHAPD.h.

277{return m_winMaterial;}
std::string m_winMaterial
material of HAPD window
Definition: ARICHGeoHAPD.h:349

◆ getWinRefIndex()

double getWinRefIndex ( ) const
inline

Returns window refractive index.

Returns
refractive index

Definition at line 234 of file ARICHGeoHAPD.h.

234{return m_winRefIndex;}
double m_winRefIndex
window refractive index
Definition: ARICHGeoHAPD.h:362

◆ getWinThickness()

double getWinThickness ( ) const
inline

Returns window thickness.

Returns
window thickness

Definition at line 186 of file ARICHGeoHAPD.h.

186{return m_winThickness / s_unit;}

◆ 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.

28{
29
30 if (x < - m_chipGap / 2.) chX = int((x + m_chipGap / 2.) / m_padSize) + m_nPadX / 2. - 1;
31 else if (x > m_chipGap / 2.) chX = (x - m_chipGap / 2.) / m_padSize + m_nPadX / 2.;
32 else {chX = -1; chY = -1; return;}
33
34 if (y < - m_chipGap / 2.) chY = int((y + m_chipGap / 2.) / m_padSize) + m_nPadY / 2. - 1;
35 else if (y > m_chipGap / 2.) chY = (y - m_chipGap / 2.) / m_padSize + m_nPadY / 2.;
36 else {chX = -1; chY = -1; return;}
37
38 if (chX + 1 > int(m_nPadX) || chY + 1 > int(m_nPadY) || chX < 0 || chY < 0) {
39 chX = -1; chY = -1;
40 }
41
42}

◆ 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.

16{
17
18 if (chX < m_nPadX / 2.) x = -m_chipGap / 2. + (chX - m_nPadX / 2.) * m_padSize + m_padSize / 2.;
19 else x = m_chipGap / 2. + (chX - m_nPadX / 2.) * m_padSize + m_padSize / 2.;
20
21 if (chY < m_nPadY / 2.) y = -m_chipGap / 2. + (chY - m_nPadY / 2.) * m_padSize + m_padSize / 2.;
22 else y = m_chipGap / 2. + (chY - m_nPadY / 2.) * m_padSize + m_padSize / 2.;
23
24}

◆ 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.

57{
58 if (m_HAPDSizeX <= 0) return false;
59 if (m_HAPDSizeY <= 0) return false;
60 if (m_HAPDSizeZ <= 0) return false;
61 if (m_wallThickness <= 0) return false;
62 if (m_winThickness <= 0) return false;
63 if (m_padSize <= 0) return false;
64 if (m_nPadX == 0) return false;
65 if (m_nPadY == 0) return false;
66 if (m_APDSizeZ <= 0) return false;
67 if (m_APDSizeX <= 0) return false;
68 if (m_APDSizeY <= 0) return false;
69 if (m_FEBSizeX <= 0) return false;
70 if (m_FEBSizeY <= 0) return false;
71 if (m_FEBSizeZ <= 0) return false;
72 if (m_moduleSizeZ <= 0) return false;
73 if (m_winRefIndex < 1.) return false;
74
75 if (m_wallMaterial.empty()) return false;
76 if (m_winMaterial.empty()) return false;
77 if (m_apdMaterial.empty()) return false;
78 if (m_febMaterial.empty()) return false;
79 if (m_fillMaterial.empty()) return false;
80
81 return true;
82}

◆ 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.

86{
88
89 cout << " outer HAPD dimensions: " << getSizeX() << " X " << getSizeY() << " X " << getSizeZ() << " " << s_unitName << endl;
90 cout << " wall thickness: " << getWallThickness() << " " << s_unitName << endl;
91 cout << " window thickness: " << getWinThickness() << " " << s_unitName << endl;
92 cout << " pad size: " << getPadSize() << " " << s_unitName << endl;
93 cout << " number of pixels: " << getNumPadsX() << " X " << getNumPadsY() << endl;
94 cout << " gap between APD chips: " << getChipGap() << " " << s_unitName << endl;
95 cout << " APD dimensions: " << getAPDSizeX() << " X " << getAPDSizeY() << " X " << getAPDSizeZ() << " " << s_unitName <<
96 endl;
97 cout << " FEB dimensions: " << getFEBSizeX() << " X " << getFEBSizeY() << " X " << getFEBSizeZ() << " " << s_unitName <<
98 endl;
99 cout << " window ref. index: " << getWinRefIndex() << endl;
100 cout << " module height (Z): " << getModuleSizeZ() << " " << s_unitName << endl;
101 cout << " wall material: " << getWallMaterial() << endl;
102 cout << " window material: " << getWinMaterial() << endl;
103 cout << " HAPD fill material: " << getFillMaterial() << endl;
104 cout << " FEB material: " << getFEBMaterial() << endl;
105 cout << " APD material: " << getAPDMaterial() << endl;
106
107 // add material names!
109}
virtual void printSurface(const GeoOpticalSurface &surface) const
Print the content of optical surface.
Definition: ARICHGeoBase.cc:32
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
static std::string s_unitName
conversion unit name
Definition: ARICHGeoBase.h:84
double getSizeZ() const
Returns HAPD size in z.
Definition: ARICHGeoHAPD.h:174
const std::string & getFEBMaterial() const
Returns FEB material name.
Definition: ARICHGeoHAPD.h:289
double getChipGap() const
Returns gap between APD chips.
Definition: ARICHGeoHAPD.h:246
double getPadSize() const
Returns APD pad size.
Definition: ARICHGeoHAPD.h:240
unsigned getNumPadsY() const
Returns number of Y pads.
Definition: ARICHGeoHAPD.h:258
double getAPDSizeZ() const
Returns APD size in z.
Definition: ARICHGeoHAPD.h:204
double getWinRefIndex() const
Returns window refractive index.
Definition: ARICHGeoHAPD.h:234
double getWinThickness() const
Returns window thickness.
Definition: ARICHGeoHAPD.h:186
const std::string & getAPDMaterial() const
Returns APD material name.
Definition: ARICHGeoHAPD.h:283
const std::string & getWallMaterial() const
Returns wall (casing) material name.
Definition: ARICHGeoHAPD.h:265
const std::string & getFillMaterial() const
Returns fill (inside) material name.
Definition: ARICHGeoHAPD.h:271
unsigned getNumPadsX() const
Returns number of X pads.
Definition: ARICHGeoHAPD.h:252
double getSizeX() const
Returns HAPD size in x.
Definition: ARICHGeoHAPD.h:162
double getSizeY() const
Returns HAPD size in y.
Definition: ARICHGeoHAPD.h:168
double getFEBSizeY() const
Returns FEB size in y.
Definition: ARICHGeoHAPD.h:216
double getWallThickness() const
Returns wall thickness.
Definition: ARICHGeoHAPD.h:180
double getFEBSizeZ() const
Returns FEB size in z.
Definition: ARICHGeoHAPD.h:222
const std::string & getWinMaterial() const
Returns window material name.
Definition: ARICHGeoHAPD.h:277
double getModuleSizeZ() const
Returns module size in z (HAPD + FEB height)
Definition: ARICHGeoHAPD.h:228
double getAPDSizeY() const
Returns APD size in y.
Definition: ARICHGeoHAPD.h:198
double getFEBSizeX() const
Returns FEB size in x.
Definition: ARICHGeoHAPD.h:210
double getAPDSizeX() const
Returns APD size in x.
Definition: ARICHGeoHAPD.h:192

◆ 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.

26{
27// cout << "Volume positioning information (inside local ARICH frame)" << endl;
28 cout << " Center position; x: " << x << " " << s_unitName << ", y: " << y << " " << s_unitName << ", z: " << z << " " << s_unitName
29 << endl;
30 cout << " Rotations; x-axis: " << rx << " y-axis: " << ry << " z-axis: " << rz << " (in rad)" << endl;
31}

◆ 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.

33{
34 cout << " Optical surface: ";
35 if (surface.getName().empty() and !surface.hasProperties()) {
36 cout << "not defined" << endl;
37 return;
38 }
39 cout << surface.getName();
40 cout << ", model: " << surface.getModel();
41 cout << ", finish: " << surface.getFinish();
42 cout << ", type: " << surface.getType();
43 cout << ", value: " << surface.getValue();
44 cout << endl;
45 if (surface.hasProperties()) {
46 for (const auto& property : surface.getProperties()) {
47 cout << " - property: ";
48 cout << property.getName() << " [";
49 for (const auto& value : property.getValues()) cout << value << ", ";
50 cout << "], @[";
51 for (const auto& value : property.getEnergies()) cout << value / Unit::eV << ", ";
52 cout << "] eV" << endl;
53 }
54 } else {
55 cout << " - properties: None" << endl;
56 }
57
58}
const std::string & getName() const
get name of the optical surface
int getFinish() const
get finish of the surface
const std::vector< GeoMaterialProperty > & getProperties() const
get all properties
double getValue() const
get value for the surface condition
int getType() const
get type of the surface
bool hasProperties() const
check if the material has at least one property
int getModel() const
get model for the surface
static const double eV
[electronvolt]
Definition: Unit.h:112

◆ setAPDMaterial()

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

Sets APD material.

Parameters
materialAPD material name

Definition at line 93 of file ARICHGeoHAPD.h.

93{m_apdMaterial = material;}

◆ 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
materialAPD material name
surfAPD optical surface properties

Definition at line 131 of file ARICHGeoHAPD.h.

133 {
134 m_APDSizeX = sizeX;
135 m_APDSizeY = sizeY;
136 m_APDSizeZ = sizeZ;
137 m_apdMaterial = material;
138 m_apdSurface = surf;
139 }

◆ setChipGap()

void setChipGap ( double  chipGap)
inline

Set gap between APD chips.

Parameters
chipGapgap between APD chips

Definition at line 56 of file ARICHGeoHAPD.h.

56{m_chipGap = chipGap;}

◆ setFEBMaterial()

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

Sets FEB material.

Parameters
materialFEB material name

Definition at line 99 of file ARICHGeoHAPD.h.

99{m_febMaterial = material;}

◆ 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
materialFEB material

Definition at line 114 of file ARICHGeoHAPD.h.

116 {
117 m_FEBSizeX = sizeX;
118 m_FEBSizeY = sizeY;
119 m_FEBSizeZ = sizeZ;
120 m_febMaterial = material;
121 }

◆ setFillMaterial()

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

Sets material inside of HAPD (vacuum with set ref.

index)

Parameters
materialfill material name

Definition at line 105 of file ARICHGeoHAPD.h.

105{m_fillMaterial = material;}

◆ 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
materialfill material

Definition at line 148 of file ARICHGeoHAPD.h.

150 {
151 m_HAPDSizeX = sizeX;
152 m_HAPDSizeY = sizeY;
153 m_HAPDSizeZ = sizeZ;
154 m_fillMaterial = material;
155 }

◆ 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.

75{m_moduleSizeZ = modZ;}

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

43{m_name = name;}

◆ 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.

63{m_nPadX = nx; m_nPadY = ny; }

◆ setPadSize()

void setPadSize ( double  padSize)
inline

Set pad size.

Parameters
padSizepad size

Definition at line 50 of file ARICHGeoHAPD.h.

50{m_padSize = padSize;}

◆ setWallMaterial()

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

Sets casing material.

Parameters
materialcasing material name

Definition at line 81 of file ARICHGeoHAPD.h.

81{m_wallMaterial = material;}

◆ setWallThickness()

void setWallThickness ( double  thickness)
inline

Set wall thickness.

Parameters
thicknesswall thickness

Definition at line 38 of file ARICHGeoHAPD.h.

38{m_wallThickness = thickness;}

◆ setWinMaterial()

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

Set window material.

Parameters
materialwindow material name

Definition at line 87 of file ARICHGeoHAPD.h.

87{m_winMaterial = material;}

◆ setWinRefIndex()

void setWinRefIndex ( double  refInd)
inline

Set refractive index of HAPD window.

Parameters
refIndwindow refractive index

Definition at line 69 of file ARICHGeoHAPD.h.

69{m_winRefIndex = refInd;}

◆ setWinThickness()

void setWinThickness ( double  thickness)
inline

Set window thickness.

Parameters
thicknesswindow thickness

Definition at line 44 of file ARICHGeoHAPD.h.

44{m_winThickness = thickness;}

Member Data Documentation

◆ m_apdMaterial

std::string m_apdMaterial
private

material of APD chips

Definition at line 350 of file ARICHGeoHAPD.h.

◆ m_APDSizeX

double m_APDSizeX = 0
private

APD X size.

Definition at line 363 of file ARICHGeoHAPD.h.

◆ m_APDSizeY

double m_APDSizeY = 0
private

APD Y size.

Definition at line 364 of file ARICHGeoHAPD.h.

◆ m_APDSizeZ

double m_APDSizeZ = 0
private

APD Z size.

Definition at line 365 of file ARICHGeoHAPD.h.

◆ m_apdSurface

GeoOpticalSurface m_apdSurface
private

optical surface of APD (for reflectivity)

Definition at line 370 of file ARICHGeoHAPD.h.

◆ m_chipGap

double m_chipGap = 0
private

gap between APD chips

Definition at line 359 of file ARICHGeoHAPD.h.

◆ m_febMaterial

std::string m_febMaterial
private

material of FEB

Definition at line 351 of file ARICHGeoHAPD.h.

◆ m_FEBSizeX

double m_FEBSizeX = 0
private

FEB X size.

Definition at line 366 of file ARICHGeoHAPD.h.

◆ m_FEBSizeY

double m_FEBSizeY = 0
private

FEB Y size.

Definition at line 367 of file ARICHGeoHAPD.h.

◆ m_FEBSizeZ

double m_FEBSizeZ = 0
private

FEB Z size.

Definition at line 368 of file ARICHGeoHAPD.h.

◆ m_fillMaterial

std::string m_fillMaterial
private

material that fills the HAPD

Definition at line 352 of file ARICHGeoHAPD.h.

◆ m_HAPDSizeX

double m_HAPDSizeX = 0
private

HAPD X size.

Definition at line 353 of file ARICHGeoHAPD.h.

◆ m_HAPDSizeY

double m_HAPDSizeY = 0
private

HAPD Y size.

Definition at line 354 of file ARICHGeoHAPD.h.

◆ m_HAPDSizeZ

double m_HAPDSizeZ = 0
private

HAPD Z size.

Definition at line 355 of file ARICHGeoHAPD.h.

◆ m_moduleSizeZ

double m_moduleSizeZ = 0
private

HAPD module Z size (HAPD + FEB height)

Definition at line 369 of file ARICHGeoHAPD.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 82 of file ARICHGeoBase.h.

◆ m_nPadX

unsigned m_nPadX = 0
private

number of pads in X

Definition at line 360 of file ARICHGeoHAPD.h.

◆ m_nPadY

unsigned m_nPadY = 0
private

number of pads in Y

Definition at line 361 of file ARICHGeoHAPD.h.

◆ m_padSize

double m_padSize = 0
private

pad size

Definition at line 358 of file ARICHGeoHAPD.h.

◆ m_wallMaterial

std::string m_wallMaterial
private

material of HAPD side walls

Definition at line 348 of file ARICHGeoHAPD.h.

◆ m_wallThickness

double m_wallThickness = 0
private

HAPD side wall thickness.

Definition at line 356 of file ARICHGeoHAPD.h.

◆ m_winMaterial

std::string m_winMaterial
private

material of HAPD window

Definition at line 349 of file ARICHGeoHAPD.h.

◆ m_winRefIndex

double m_winRefIndex = 0
private

window refractive index

Definition at line 362 of file ARICHGeoHAPD.h.

◆ m_winThickness

double m_winThickness = 0
private

HAPD window thickness.

Definition at line 357 of file ARICHGeoHAPD.h.

◆ s_unit

double s_unit = Unit::cm
staticprotectedinherited

conversion unit for length

Definition at line 83 of file ARICHGeoBase.h.

◆ s_unitName

std::string s_unitName
staticprotectedinherited

conversion unit name

Definition at line 84 of file ARICHGeoBase.h.


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