 |
Belle II Software
release-05-02-19
|
11 #ifndef SVD_SENSORINFO_H
12 #define SVD_SENSORINFO_H
14 #include <vxd/geometry/SensorInfoBase.h>
27 class SensorInfo:
public VXD::SensorInfoBase {
54 SensorInfo(
VxdID id = 0,
float width = 0,
float length = 0,
float thickness = 0,
55 int uCells = 0,
int vCells = 0,
float width2 = 0):
56 VXD::
SensorInfoBase(
SensorInfo::
SVD, id, width, length, thickness, uCells, vCells, width2, -1, 0),
78 static const unsigned short layerSensors[] = {0, 0, 0, 2, 3, 4, 5};
80 (
id.getLayerNumber() > 3)
81 && (
id.getSensorNumber() == layerSensors[
id.getLayerNumber()]);
103 double depletionVoltage,
double biasVoltage,
104 double backplaneCapacitanceU,
105 double interstripCapacitanceU,
106 double couplingCapacitanceU,
107 double backplaneCapacitanceV,
108 double interstripCapacitanceV,
109 double couplingCapacitanceV,
110 double AduEquivalentU,
111 double AduEquivalentV,
112 double electronicNoiseU,
113 double electronicNoiseV,
114 double AduEquivalentSbwU,
115 double AduEquivalentSbwV,
116 double electronicNoiseSbwU,
117 double electronicNoiseSbwV)
192 const TVector3
getEField(
const TVector3& point)
const;
198 const TVector3&
getBField(
const TVector3& point)
const;
206 if (carrier == electron)
int m_uCells
Number of strips/pixels in u direction.
double m_aduEquivalentV
ADU equivalent (electrons/ADU) for v strips.
const TVector3 getVelocity(CarrierType carrier, const TVector3 &point) const
Get drift velocity for electrons or holes at a given point.
double m_couplingCapacitanceU
The coupling capacitance/cm for the sensor's u strips.
Class to uniquely identify a any structure of the PXD and SVD.
void setIsBackward(VxdID id)
Determine if this is a backward side barrel sensor.
double m_interstripCapacitanceU
The interstrip capacitance/cm for the sensor's u strips.
double getAduEquivalentV() const
Return ADU equivalent for v strips.
unsigned short m_id
ID of the Sensor.
double getAduEquivalentU() const
Return ADU equivalent for u strips.
double getBackplaneCapacitanceV(int vID=0) const
Return the backplane capacitanceV for the sensor's v strips (short).
bool m_isBackward
Is this a backward barrel sensor?
double m_temperature
Sensor temperature.
double getCouplingCapacitanceU(int uID=0) const
Return the coupling capacitanceU of the sensor's u strips (long)
@ VXD
Any type of VXD Sensor.
double m_aduEquivalentSbwV
ADU equivalent (electrons/ADU) for v strips, Sbw barrel sensors.
Specific implementation of SensorInfo for SVD Sensors which provides additional sensor specific infor...
double m_backplaneCapacitanceV
The backplane capacitance/cm for the sensor's v strips.
double getWidth(double v=0) const
Return the width of the sensor.
Coordinate
Enum for parametric access to sensor coordinates.
SensorInfo(VxdID id=0, float width=0, float length=0, float thickness=0, int uCells=0, int vCells=0, float width2=0)
Constructor which automatically sets the SensorType to SensorInfo::SVD.
const TVector3 getEField(const TVector3 &point) const
Model of the E field inside the sensor.
void setSensorParams(double stripEdgeU, double stripEdgeV, double depletionVoltage, double biasVoltage, double backplaneCapacitanceU, double interstripCapacitanceU, double couplingCapacitanceU, double backplaneCapacitanceV, double interstripCapacitanceV, double couplingCapacitanceV, double AduEquivalentU, double AduEquivalentV, double electronicNoiseU, double electronicNoiseV, double AduEquivalentSbwU, double AduEquivalentSbwV, double electronicNoiseSbwU, double electronicNoiseSbwV)
Set sensor operation parameters.
double m_depletionVoltage
The depletion voltage of the Silicon sensor.
double getInterstripCapacitanceV(int vID=0) const
Return the interstrip capacitanceV for the sensor's v strips (short).
double getStripLengthV(int vID=0) const
Return v-strip length.
SensorInfoBase(SensorType type, VxdID id, double width, double length, double thickness, int uCells, int vCells, double width2=-1, double splitLength=-1, int vCells2=0)
Constructor for a SensorInfo instance.
double getHoleMobility(double E) const
Calculate hole mobility at a given electric field.
const TVector3 & getBField(const TVector3 &point) const
Get B field value from the field map.
double getVCellPosition(int vID) const
Return the position of a specific strip/pixel in v direction.
double getTemperature() const
Return the sensor temperature.
Abstract base class for different kinds of events.
const TVector3 & getLorentzShift(double uCoord, double vCoord) const
Calculate Lorentz shift along a given coordinate in a magnetic field at a given position.
double getBackplaneCapacitanceU(int uID=0) const
Return the backplane capacitanceU for the sensor's u strips (long).
double m_interstripCapacitanceV
The interstrip capacitance/cm for the sensor's v strips.
double m_backplaneCapacitanceU
The backplane capacitance/cm for the sensor's u strips.
double m_aduEquivalentSbwU
ADU equivalent (electrons/ADU) for u strips, Sbw barrel sensors.
double getCouplingCapacitanceV(int vID=0) const
Return the coupling capacitanceV of the sensor's v strips (short).
double m_electronicNoiseU
The electronic noise for u (long) strips.
const double c_fanoFactorSi
The Fano factor for silicon.
double m_electronicNoiseSbwU
The electronic noise for u strips in bw barrel (non-Origami) sensors.
double getHallFactor(CarrierType carrier) const
Return Hall factor for the corresponding carrier type.
double m_aduEquivalentU
ADU equivalent (electrons/ADU) for u strips.
double getBiasVoltage() const
Return the bias voltage on the sensor.
double m_couplingCapacitanceV
The coupling capacitance/cm for the sensor's v strips.
double m_stripEdgeU
The distance between end of strips and edge of active area.
void setID(VxdID id)
Change the SensorID.
double getElectronicNoiseV() const
Return electronic noise in e- for v (short) strips.
double m_biasVoltage
The bias voltage on the sensor.
double getDepletionVoltage() const
Return the depletion voltage of the sensor.
double getStripLengthU(int uID=0) const
Return u-strip length.
double m_electronicNoiseSbwV
The electronic noise for v strips in bw barrel (non-Origami) sensors.
double m_length
Length of the Sensor.
CarrierType
Enum to flag charge carriers.
double m_stripEdgeV
The distance between end of strips and edge of active area.
double getElectronMobility(double E) const
Calculate electron mobility at a given electric field.
double getElectronicNoiseU() const
Return electronic noise in e- for u (long) strips.
double m_electronicNoiseV
The electronic noise for v (short) strips.
double getInterstripCapacitanceU(int uID=0) const
Return the interstrip capacitanceU for the sensor's u strips (long).
double m_deltaWidth
Difference between backward and forward width, 0 for rectangular sensors.