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