![]() |
Belle II Software
release-06-01-15
|
Specific implementation of SensorInfo for PXD Sensors which provides additional pixel specific information. More...
#include <SensorInfo.h>
Public Types | |
enum | SensorType { PXD = 0 , SVD = 1 , TEL = 2 , VXD = -1 } |
Enum specifing the type of sensor the SensorInfo represents. More... | |
Public Member Functions | |
SensorInfo (VxdID id=0, float width=0, float length=0, float thickness=0, int uCells=0, int vCells=0, float splitLength=0, int vCells2=0) | |
Constructor which automatically sets the SensorType. | |
void | setID (VxdID id) |
Change the SensorID, useful to copy the SensorInfo from one sensor and use it for another. | |
void | flipVSegmentation () |
Flip the Pitch segmentation along v. More... | |
void | setDEPFETParams (double bulkDoping, double backVoltage, double topVoltage, double sourceBorderSmallPitch, double clearBorderSmallPitch, double drainBorderSmallPitch, double sourceBorderLargePitch, double clearBorderLargePitch, double drainBorderLargePitch, double gateDepth, bool doublePixel, double chargeThreshold, double noiseFraction) |
Set operation parameters like voltages. | |
void | cook () |
calculate constants in advance | |
int | getTrappedID (double x, double y) const |
Get pixel number if the given coordinate is in the correspondin internal gate trapping region or -1 otherwise. More... | |
void | setIntegrationWindow (double start, double end) |
Set the time window in which the sensor is active. | |
double | getTemperature () const |
Return the temperature of the sensor. | |
double | getBulkDoping () const |
Return the bulk doping of the Silicon sensor. | |
double | getBackVoltage () const |
Return the voltage at the backside of the sensor. | |
double | getTopVoltage () const |
Return the voltage at the top of the sensor. | |
double | getSourceBorder (double v) const |
Return the distance between the source side of the pixel and the start of the Gate for a pixel at v. More... | |
double | getClearBorder (double v) const |
Return the distance between the clear side of the pixel and the start of the Gate for a pixel at v. | |
double | getDrainBorder (double v) const |
Return the distance between the drain side of the pixel and the start of the Gate for a pixel at v. | |
double | getGateDepth () const |
Return the gate depth for the sensor. | |
bool | getDoublePixel () const |
Return true if the Sensor is a double pixel structure: every other pixel is mirrored along v. | |
double | getChargeThreshold () const |
Get the charge threshold in ADU for the sensor. | |
double | getNoiseFraction () const |
Get the noise fraction for the sensor. | |
double | getIntegrationStart () const |
Return the start of the integration window, the timeframe the PXD is sensitive. | |
double | getIntegrationEnd () const |
Return the end of the integration window, the timeframe the PXD is sensitive. | |
double | getHallFactor () const |
Return the Hall factor for electrons at sensor temperature. | |
double | getElectronMobility (double E) const |
Calculate electron mobility at a given electric field. More... | |
const TVector3 | getEField (const TVector3 &point) const |
Model of the E field inside the sensor. More... | |
const TVector3 | getBField (const TVector3 &point) const |
Get B field value from the field map. More... | |
const TVector3 | getLorentzShift (double u, double v) const |
Calculate Lorentz shift. More... | |
const TVector3 | getDriftVelocity (const TVector3 &E, const TVector3 &B) const |
Calculate drift velocity of an electron. More... | |
int | getPixelKind (const VxdID sensorID, double v) const |
Return pixel kind ID. More... | |
int | getPixelKindNew (const VxdID &sensorID, int vID) const |
Return pixel kind ID. More... | |
SensorType | getType () const |
Return the Type of the Sensor. | |
VxdID | getID () const |
Return the ID of the Sensor. | |
double | getWidth (double v=0) const |
Return the width of the sensor. More... | |
double | getBackwardWidth () const |
Convinience Wrapper to return width at backward side. More... | |
double | getForwardWidth () const |
Convinience Wrapper to return width at forward side. More... | |
double | getLength () const |
Return the length of the sensor. More... | |
double | getThickness () const |
Return the thickness of the sensor. More... | |
double | getUSize (double v=0) const |
Return the width of the sensor. More... | |
double | getVSize () const |
Return the length of the sensor. More... | |
double | getWSize () const |
Return the thickness of the sensor. More... | |
double | getUPitch (double v=0) const |
Return the pitch of the sensor. More... | |
double | getVPitch (double v=0) const |
Return the pitch of the sensor. More... | |
int | getVPitchID (double v=0) const |
Return the pitch ID of the sensor. More... | |
double | getUCellPosition (int uID, int vID=-1) const |
Return the position of a specific strip/pixel in u direction. More... | |
double | getVCellPosition (int vID) const |
Return the position of a specific strip/pixel in v direction. More... | |
int | getUCellID (double u, double v=0, bool clamp=false) const |
Return the corresponding pixel/strip ID of a given u coordinate. More... | |
int | getVCellID (double v, bool clamp=false) const |
Return the corresponding pixel/strip ID of a given v coordinate. More... | |
int | getUCells () const |
Return number of pixel/strips in u direction. | |
int | getVCells () const |
Return number of pixel/strips in v direction. | |
int | getVCells2 () const |
Return number of pixel/strips in v direction up to change pitch. | |
bool | inside (double u, double v, double uTolerance=DBL_EPSILON, double vTolerance=DBL_EPSILON) const |
Check wether a given point is inside the active area. More... | |
bool | inside (const TVector3 &local) const |
Check wether a given point is inside the active area. More... | |
void | forceInside (double &u, double &v) const |
Force a position to be inside the active area. More... | |
void | forceInside (TVector3 &local) const |
Force a given point inside the active area. More... | |
TVector3 | pointToGlobal (const TVector3 &local, bool reco=false) const |
Convert a point from local to global coordinates. More... | |
TVector3 | vectorToGlobal (const TVector3 &local, bool reco=false) const |
Convert a vector from local to global coordinates. More... | |
TVector3 | pointToLocal (const TVector3 &global, bool reco=false) const |
Convert a point from global to local coordinates. More... | |
TVector3 | vectorToLocal (const TVector3 &global, bool reco=false) const |
Convert a vector from global to local coordinates. More... | |
void | setTransformation (const TGeoHMatrix &transform, bool reco=false) |
Set the transformation matrix of the Sensor. More... | |
const TGeoHMatrix & | getTransformation (bool reco=false) const |
Return the transformation matrix of the Sensor. More... | |
void | setSurfaceParameters (const std::vector< double > &planarParameters) |
Fill parameters of planar deformation to vector. | |
const std::vector< double > & | getSurfaceParameters () const |
Return parameters of planar deformation. | |
Protected Member Functions | |
void | setLorentzFactor () |
Calculate Lorentz shift factor. More... | |
Protected Attributes | |
double | m_temperature |
The temperature of the sensor. | |
double | m_hallFactor |
The bulk doping of the Silicon sensor. | |
double | m_bulkDoping |
Doping concentration of the silicon bulk. | |
double | m_backVoltage |
The voltage at the backside of the sensor. | |
double | m_topVoltage |
The voltate at the top of the sensor. | |
double | m_sourceBorderSmallPitch |
The distance between the source side of the pixel and the start of the Gate, small pitch area. | |
double | m_clearBorderSmallPitch |
The distance between the clear side of the pixel and the start of the Gate, small pitch area | |
double | m_drainBorderSmallPitch |
The distance between the drain side of the pixel and the start of the Gate, small pitch area | |
double | m_sourceBorderLargePitch |
The distance between the source side of the pixel and the start of the Gate, large pitch area. | |
double | m_clearBorderLargePitch |
The distance between the clear side of the pixel and the start of the Gate, large pitch area | |
double | m_drainBorderLargePitch |
The distance between the drain side of the pixel and the start of the Gate, large pitch area | |
double | m_gateDepth |
Return depth of the surface where the electrons will be collected. | |
bool | m_doublePixel |
True if the Sensor is a double pixel structure: every other pixel is mirrored along v. | |
double | m_chargeThreshold |
Charge threshold. | |
double | m_noiseFraction |
Fixed noise fraction. | |
double | m_integrationStart |
The start of the integration window, the timeframe the PXD is sensitive. | |
double | m_integrationEnd |
The end of the integration window, the timeframe the PXD is sensitive. | |
double | m_up |
pixel pitch in u direction | |
double | m_iup |
the reciprocal of the pixel pitch in u direction | |
double | m_vsplit |
v coordinate which splits small and large pixel regions | |
double | m_vp |
large pixel pitch in v direction | |
double | m_ivp |
the reciprocal of the large pixel pitch in v direction | |
double | m_vp2 |
small pixel pitch in v direction | |
double | m_ivp2 |
the reciprocal of the small pixel pitch in v direction | |
double | m_hxIG |
size in u direction of the internal gate trapping region | |
double | m_mIGL |
middle of the internal gate trapping region for large pixels | |
double | m_sIGL |
size in v direction of the internal gate trapping region for large pixels | |
double | m_mIGS |
middle of the internal gate trapping region for small pixels | |
double | m_sIGS |
size in v direction of the internal gate trapping region for small pixels | |
SensorType | m_type |
Type of the Sensor. | |
unsigned short | m_id |
ID of the Sensor. | |
double | m_width |
Width of the sensor. | |
double | m_length |
Length of the Sensor. | |
double | m_thickness |
Thickness of the Sensor. | |
double | m_deltaWidth |
Difference between backward and forward width, 0 for rectangular sensors. | |
double | m_splitLength |
Relative length at which second pixel size starts, 0 for only one pixel size. | |
int | m_uCells |
Number of strips/pixels in u direction. | |
int | m_vCells |
Number of strips/pixels in v direction (up to splitLength for two pixel sizes) | |
int | m_vCells2 |
Number of strips/pixels in v direction after splitLength, 0 for only one pixel size. | |
TGeoHMatrix | m_transform |
Nominal transformation matrix of the Sensor. | |
TGeoHMatrix | m_recoTransform |
Alignment-corrected transformation matrix of the Sensor for use in reconstruction. | |
std::vector< double > | m_surfaceDeformationParameters = std::vector<double>(12, 0.0) |
Vector contains all parameter needed for description planar deformation of sensors. | |
Specific implementation of SensorInfo for PXD Sensors which provides additional pixel specific information.
Definition at line 23 of file SensorInfo.h.
|
inherited |
Enum specifing the type of sensor the SensorInfo represents.
Enumerator | |
---|---|
PXD | PXD Sensor. |
SVD | SVD Sensor. |
TEL | Testbeam telescope sensor. |
VXD | Any type of VXD Sensor. |
Definition at line 33 of file SensorInfoBase.h.
|
inline |
Flip the Pitch segmentation along v.
If there are two different pixel sizes than mirror the segmentation along v.
Definition at line 43 of file SensorInfo.h.
|
inlineinherited |
Force a position to be inside the active area.
u | u coordinate to be forced inside |
v | v coordinate to be forced inside |
Definition at line 251 of file SensorInfoBase.h.
|
inlineinherited |
Force a given point inside the active area.
local | point in local coordinates, will be modified to lie inside or at the border of the sensor |
Definition at line 354 of file SensorInfoBase.h.
|
inlineinherited |
Convinience Wrapper to return width at backward side.
Definition at line 90 of file SensorInfoBase.h.
const TVector3 & getBField | ( | const TVector3 & | point | ) | const |
Get B field value from the field map.
point | Desired position in local coordinates. |
info | the SensorInfo for the current sensor. |
Definition at line 45 of file SensorInfo.cc.
const TVector3 getDriftVelocity | ( | const TVector3 & | E, |
const TVector3 & | B | ||
) | const |
Calculate drift velocity of an electron.
E | Electric field vector |
B | Magnetic field vector |
Definition at line 53 of file SensorInfo.cc.
const TVector3 getEField | ( | const TVector3 & | point | ) | const |
Model of the E field inside the sensor.
point | Desired position in local coordinates. |
info | The SensorInfo for the current sensor. |
Definition at line 33 of file SensorInfo.cc.
double getElectronMobility | ( | double | E | ) | const |
Calculate electron mobility at a given electric field.
Based on C. Canali et al., IEEE, ED-22, (1975) 1045
E | Electric field, V/cm |
Definition at line 20 of file SensorInfo.cc.
|
inlineinherited |
Convinience Wrapper to return width at forward side.
Definition at line 98 of file SensorInfoBase.h.
|
inlineinherited |
Return the length of the sensor.
Definition at line 106 of file SensorInfoBase.h.
const TVector3 & getLorentzShift | ( | double | u, |
double | v | ||
) | const |
Calculate Lorentz shift.
u | Local u coordinate |
v | Local v coordinate |
Definition at line 98 of file SensorInfo.cc.
int getPixelKind | ( | const VxdID | sensorID, |
double | v | ||
) | const |
Return pixel kind ID.
sensorID | the sensor identification |
v | Local v coordinate |
Definition at line 68 of file SensorInfo.cc.
int getPixelKindNew | ( | const VxdID & | sensorID, |
int | vID | ||
) | const |
Return pixel kind ID.
sensorID | the sensor identification |
vID | Local vcell ID |
Definition at line 77 of file SensorInfo.cc.
|
inline |
Return the distance between the source side of the pixel and the start of the Gate for a pixel at v.
For these functions to work, the small pitch and large pitch values have to be correctly swapped with the flipVSegmentation method. FIXME: flip... is never called!
Definition at line 105 of file SensorInfo.h.
|
inlineinherited |
Return the thickness of the sensor.
Definition at line 111 of file SensorInfoBase.h.
|
inlineinherited |
Return the transformation matrix of the Sensor.
reco | Get transformation for reconstruction (true) or nominal (false) |
Definition at line 307 of file SensorInfoBase.h.
int getTrappedID | ( | double | x, |
double | y | ||
) | const |
Get pixel number if the given coordinate is in the correspondin internal gate trapping region or -1 otherwise.
x | u-coordinate in the local system |
y | v-coordinate in the local system |
Definition at line 149 of file SensorInfo.cc.
|
inlineinherited |
Return the corresponding pixel/strip ID of a given u coordinate.
u | u coordinate of the pixel/strip |
v | v coordinate of the pixel/strip, ignored for rectangular sensors |
clamp | flag for clamp |
Definition at line 194 of file SensorInfoBase.h.
|
inlineinherited |
Return the position of a specific strip/pixel in u direction.
uID | id of the strip/pixel in u coordinates |
vID | id of the strip/pixel in v coordinates, ignored for rectangular sensors |
Definition at line 169 of file SensorInfoBase.h.
|
inlineinherited |
Return the pitch of the sensor.
v | v-coordinate where to determine the pitch, ignored for rectangular sensors |
Definition at line 133 of file SensorInfoBase.h.
|
inlineinherited |
Return the width of the sensor.
v | v-coordinate where to determine the width, ignored for recangular sensors |
Definition at line 117 of file SensorInfoBase.h.
|
inlineinherited |
Return the corresponding pixel/strip ID of a given v coordinate.
v | v coordinate of the pixel/strip |
clamp | flag for clamp |
Definition at line 205 of file SensorInfoBase.h.
|
inlineinherited |
Return the position of a specific strip/pixel in v direction.
vID | id of the strip/pixel in v coordinates |
Definition at line 181 of file SensorInfoBase.h.
|
inlineinherited |
Return the pitch of the sensor.
v | v-coordinate where to determine the pitch, only used for sensors with two different pixel sizes along v |
Definition at line 140 of file SensorInfoBase.h.
|
inlineinherited |
Return the pitch ID of the sensor.
v | v-coordinate where to determine the pitchID only used for PXD sensors with two different pixel sizes along v |
Definition at line 157 of file SensorInfoBase.h.
|
inlineinherited |
Return the length of the sensor.
Definition at line 122 of file SensorInfoBase.h.
|
inlineinherited |
Return the width of the sensor.
v | v-coordinate where to determine the width, ignored for recangular sensors |
Definition at line 81 of file SensorInfoBase.h.
|
inlineinherited |
Return the thickness of the sensor.
Definition at line 127 of file SensorInfoBase.h.
|
inlineinherited |
Check wether a given point is inside the active area.
local | point in local coordinates |
Definition at line 241 of file SensorInfoBase.h.
|
inlineinherited |
Check wether a given point is inside the active area.
Optionally, one can specify a tolerance which should be added to the sensor edges to still be considered inside
u | u coordinate to check, supply 0 if not interested |
v | v coordinate to check, supply 0 if not interested |
uTolerance | tolerance to be added on each side of the sensor in u direction |
vTolerance | tolerance to be added on each side of the sensor in u direction |
Definition at line 230 of file SensorInfoBase.h.
|
inlineinherited |
Convert a point from local to global coordinates.
local | point in local coordinates |
reco | Use sensor position in reconstruction (true) or in nominal geometry (false) |
Definition at line 365 of file SensorInfoBase.h.
|
inlineinherited |
Convert a point from global to local coordinates.
global | point in global coordinates |
reco | Use sensor position in reconstruction (true) or in nominal geometry (false) |
Definition at line 385 of file SensorInfoBase.h.
|
protected |
Calculate Lorentz shift factor.
This factor is constant for a sensor; the actual, position-dependent Lorentz shift is factor cross B.
|
inlineinherited |
Set the transformation matrix of the Sensor.
transform | Transformation matrix of the Sensor |
reco | Set transformation for reconstruction (true) or nominal (false) |
Definition at line 297 of file SensorInfoBase.h.
|
inlineinherited |
Convert a vector from local to global coordinates.
local | vector in local coordinates |
reco | Use sensor position in reconstruction (true) or in nominal geometry (false) |
Definition at line 375 of file SensorInfoBase.h.
|
inlineinherited |
Convert a vector from global to local coordinates.
global | vector in global coordinates |
reco | Use sensor position in reconstruction (true) or in nominal geometry (false) |
Definition at line 395 of file SensorInfoBase.h.