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.
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.
const std::string & getFillMaterial() const
Returns fill (inside) material name.
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.
const GeoOpticalSurface & getAPDSurface() const
Returns APD reflective optical surface.
double m_HAPDSizeZ
HAPD Z size.
std::string m_fillMaterial
material that fills the HAPD
unsigned getNumPadsY() const
Returns number of Y pads.
const std::string & getWinMaterial() const
Returns window material name.
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 & getWallMaterial() const
Returns wall (casing) 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.
double m_FEBSizeX
FEB X size.
void setWinThickness(double thickness)
Set window thickness.
void setModuleSizeZ(double modZ)
Set module size in Z (height of HAPD + FEB)
void setWinRefIndex(double refInd)
Set refractive index of HAPD window.
unsigned getNumPadsX() const
Returns number of X pads.
const std::string & getAPDMaterial() const
Returns APD material name.
const std::string & getFEBMaterial() const
Returns FEB material name.
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.
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.