 |
Belle II Software
release-05-01-25
|
13 #include <arich/dbobjects/ARICHGeoBase.h>
14 #include <geometry/dbobjects/GeoOpticalSurface.h>
26 class ARICHGeoHAPD:
public ARICHGeoBase {
116 void setFEBVolume(
double sizeX,
double sizeY,
double sizeZ,
117 const std::string& material)
133 void setAPDVolume(
double sizeX,
double sizeY,
double sizeZ,
151 const std::string& material)
306 void getXYChannel(
double x,
double y,
int& chX,
int& chY)
const;
314 unsigned getChipID(
double x,
double y)
const;
346 void print(
const std::string& title =
"HAPD module geometry parameters")
const override;
double getChipGap() const
Returns gap between APD chips.
const std::string & getFillMaterial() const
Returns fill (inside) material name.
const GeoOpticalSurface & getAPDSurface() const
Returns APD reflective optical surface.
double m_moduleSizeZ
HAPD module Z size (HAPD + FEB height)
double m_HAPDSizeY
HAPD Y size.
std::string m_febMaterial
material of FEB
unsigned getChipID(double x, double y) const
Returns APD chip ID from from local x,y position.
double m_HAPDSizeZ
HAPD Z size.
std::string m_apdMaterial
material of APD chips
GeoOpticalSurface m_apdSurface
optical surface of APD (for reflectivity)
ARICHGeoHAPD()
Default constructor.
void setFEBMaterial(const std::string &material)
Sets FEB material.
void getXYChannel(double x, double y, int &chX, int &chY) const
Returns X and Y channel number from local x,y position.
double m_FEBSizeY
FEB Y size.
double m_winThickness
HAPD window thickness.
double getWallThickness() const
Returns wall thickness.
double getSizeZ() const
Returns HAPD size in z.
const std::string & getWinMaterial() const
Returns window material name.
double m_APDSizeY
APD Y size.
double m_chipGap
gap between APD chips
double m_wallThickness
HAPD side wall thickness.
std::string m_wallMaterial
material of HAPD side walls
void setFEBVolume(double sizeX, double sizeY, double sizeZ, const std::string &material)
Sets FEB volume.
void setWinRefIndex(double refInd)
Set refractive index of HAPD window.
void print(const std::string &title="HAPD module geometry parameters") const override
Print the content of the class.
void setModuleSizeZ(double modZ)
Set module size in Z (height of HAPD + FEB)
unsigned m_nPadX
number of pads in X
double m_APDSizeX
APD X size.
void getXYChannelPos(int chX, int chY, double &x, double &y) const
Returns local x,y position from channel X,Y numbers.
double getFEBSizeY() const
Returns FEB size in y.
unsigned getNumPadsX() const
Returns number of X pads.
void setHAPDVolume(double sizeX, double sizeY, double sizeZ, const std::string &material)
Sets HAPD volume.
double getSizeX() const
Returns HAPD size in x.
void setWinThickness(double thickness)
Set window thickness.
double getAPDSizeX() const
Returns APD size in x.
Represent an optical finish of a surface.
std::string m_fillMaterial
material that fills the HAPD
static double s_unit
conversion unit for length
const std::string & getWallMaterial() const
Returns wall (casing) material name.
Abstract base class for different kinds of events.
void setWallMaterial(const std::string &material)
Sets casing material.
double getAPDSizeZ() const
Returns APD size in z.
double getSizeY() const
Returns HAPD size in y.
void setWinMaterial(const std::string &material)
Set window material.
void setFillMaterial(const std::string &material)
Sets material inside of HAPD (vacuum with set ref.
ClassDefOverride(ARICHGeoHAPD, 1)
ClassDef.
double getFEBSizeZ() const
Returns FEB size in z.
double getModuleSizeZ() const
Returns module size in z (HAPD + FEB height)
double getPhotocathodeApdDistance() const
Returns distance between photocathode and APD.
void setChipGap(double chipGap)
Set gap between APD chips.
double getWinThickness() const
Returns window thickness.
void setAPDMaterial(const std::string &material)
Sets APD material.
const std::string & getAPDMaterial() const
Returns APD material name.
double m_APDSizeZ
APD Z size.
double getWinRefIndex() const
Returns window refractive index.
double m_winRefIndex
window refractive index
void setPadSize(double padSize)
Set pad size.
double getAPDSizeY() const
Returns APD size in y.
double m_FEBSizeZ
FEB Z size.
double m_HAPDSizeX
HAPD X size.
void setAPDVolume(double sizeX, double sizeY, double sizeZ, const std::string &material, const GeoOpticalSurface &surf)
Sets APD volume (single volume for all 4 chips)
double getPadSize() const
Returns APD pad size.
double m_FEBSizeX
FEB X size.
double getFEBSizeX() const
Returns FEB size in x.
std::string m_winMaterial
material of HAPD window
Geometry parameters of HAPD.
unsigned m_nPadY
number of pads in Y
bool isConsistent() const override
Check consistency of geometry parameters.
void setWallThickness(double thickness)
Set wall thickness.
const std::string & getFEBMaterial() const
Returns FEB material name.
void setNPads(int nx, int ny)
Set number of pads in x and y direction.
unsigned getNumPadsY() const
Returns number of Y pads.