Belle II Software development
SensorInfo Class Reference

Specific implementation of SensorInfo for SVD Sensors which provides additional sensor specific information. More...

#include <SensorInfo.h>

Inheritance diagram for SensorInfo:
SensorInfoBase

Public Types

enum  Coordinate {
  u = 1 ,
  v = 0
}
 Enum for parametric access to sensor coordinates. More...
 
enum  CarrierType {
  electron = -1 ,
  hole = +1
}
 Enum to flag charge carriers. More...
 
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 width2=0)
 Constructor which automatically sets the SensorType to SensorInfo::SVD.
 
void setIsBackward (VxdID id)
 Determine if this is a backward side barrel sensor.
 
void setID (VxdID id)
 Change the SensorID.
 
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 getTemperature () const
 Return the sensor temperature.
 
double getStripLengthU (int uID=0) const
 Return u-strip length.
 
double getStripLengthV (int vID=0) const
 Return v-strip length.
 
double getDepletionVoltage () const
 Return the depletion voltage of the sensor.
 
double getBiasVoltage () const
 Return the bias voltage on the sensor.
 
double getBackplaneCapacitanceU (int uID=0) const
 Return the backplane capacitanceU for the sensor's u strips (long).
 
double getInterstripCapacitanceU (int uID=0) const
 Return the interstrip capacitanceU for the sensor's u strips (long).
 
double getCouplingCapacitanceU (int uID=0) const
 Return the coupling capacitanceU of the sensor's u strips (long)
 
double getBackplaneCapacitanceV (int vID=0) const
 Return the backplane capacitanceV for the sensor's v strips (short).
 
double getInterstripCapacitanceV (int vID=0) const
 Return the interstrip capacitanceV for the sensor's v strips (short).
 
double getCouplingCapacitanceV (int vID=0) const
 Return the coupling capacitanceV of the sensor's v strips (short).
 
double getAduEquivalentU () const
 Return ADU equivalent for u strips.
 
double getAduEquivalentV () const
 Return ADU equivalent for v strips.
 
double getElectronicNoiseU () const
 Return electronic noise in e- for u (long) strips.
 
double getElectronicNoiseV () const
 Return electronic noise in e- for v (short) strips.
 
double getElectronMobility (double E) const
 Calculate electron mobility at a given electric field.
 
double getHoleMobility (double E) const
 Calculate hole mobility at a given electric field.
 
const ROOT::Math::XYZVector getEField (const ROOT::Math::XYZVector &point) const
 Model of the E field inside the sensor.
 
const ROOT::Math::XYZVector & getBField (const ROOT::Math::XYZVector &point) const
 Get B field value from the field map.
 
double getHallFactor (CarrierType carrier) const
 Return Hall factor for the corresponding carrier type.
 
const ROOT::Math::XYZVector getVelocity (CarrierType carrier, const ROOT::Math::XYZVector &point) const
 Get drift velocity for electrons or holes at a given point.
 
const ROOT::Math::XYZVector & getLorentzShift (double uCoord, double vCoord) const
 Calculate Lorentz shift along a given coordinate in a magnetic field at a given position.
 
double getLorentzShift (bool isUCoordinate, double position) const
 Calculate mean Lorentz shift along a given coordinate, with B-field averaged along the corresponding strip.
 
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.
 
double getBackwardWidth () const
 Convinience Wrapper to return width at backward side.
 
double getForwardWidth () const
 Convinience Wrapper to return width at forward side.
 
double getLength () const
 Return the length of the sensor.
 
double getThickness () const
 Return the thickness of the sensor.
 
double getUSize (double v=0) const
 Return the width of the sensor.
 
double getVSize () const
 Return the length of the sensor.
 
double getWSize () const
 Return the thickness of the sensor.
 
double getUPitch (double v=0) const
 Return the pitch of the sensor.
 
double getVPitch (double v=0) const
 Return the pitch of the sensor.
 
int getVPitchID (double v=0) const
 Return the pitch ID of the sensor.
 
double getUCellPosition (int uID, int vID=-1) const
 Return the position of a specific strip/pixel in u direction.
 
double getVCellPosition (int vID) const
 Return the position of a specific strip/pixel in v direction.
 
int getUCellID (double u, double v=0, bool clamp=false) const
 Return the corresponding pixel/strip ID of a given u coordinate.
 
int getVCellID (double v, bool clamp=false) const
 Return the corresponding pixel/strip ID of a given v coordinate.
 
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.
 
bool inside (const ROOT::Math::XYZVector &local, double uTolerance=DBL_EPSILON, double vTolerance=DBL_EPSILON, double wTolerance=DBL_EPSILON) const
 Check wether a given point is inside the active area.
 
void forceInside (double &u, double &v) const
 Force a position to be inside the active area.
 
void forceInside (ROOT::Math::XYZVector &local) const
 Force a given point inside the active area.
 
ROOT::Math::XYZVector pointToGlobal (const ROOT::Math::XYZVector &local, bool reco=false) const
 Convert a point from local to global coordinates.
 
ROOT::Math::XYZVector vectorToGlobal (const ROOT::Math::XYZVector &local, bool reco=false) const
 Convert a vector from local to global coordinates.
 
ROOT::Math::XYZVector pointToLocal (const ROOT::Math::XYZVector &global, bool reco=false) const
 Convert a point from global to local coordinates.
 
ROOT::Math::XYZVector vectorToLocal (const ROOT::Math::XYZVector &global, bool reco=false) const
 Convert a vector from global to local coordinates.
 
void setTransformation (const TGeoHMatrix &transform, bool reco=false)
 Set the transformation matrix of the Sensor.
 
const TGeoHMatrix & getTransformation (bool reco=false) const
 Return the transformation matrix of the Sensor.
 
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.
 

Public Attributes

const double c_fanoFactorSi = 0.08
 The Fano factor for silicon.
 

Protected Attributes

double m_temperature
 Sensor temperature.
 
double m_stripEdgeU
 The distance between end of strips and edge of active area.
 
double m_stripEdgeV
 The distance between end of strips and edge of active area.
 
double m_depletionVoltage
 The depletion voltage of the Silicon sensor.
 
double m_biasVoltage
 The bias voltage on the sensor.
 
double m_backplaneCapacitanceU
 The backplane capacitance/cm for the sensor's u strips.
 
double m_interstripCapacitanceU
 The interstrip capacitance/cm for the sensor's u strips.
 
double m_couplingCapacitanceU
 The coupling capacitance/cm for the sensor's u strips.
 
double m_backplaneCapacitanceV
 The backplane capacitance/cm for the sensor's v strips.
 
double m_interstripCapacitanceV
 The interstrip capacitance/cm for the sensor's v strips.
 
double m_couplingCapacitanceV
 The coupling capacitance/cm for the sensor's v strips.
 
double m_aduEquivalentU
 ADU equivalent (electrons/ADU) for u strips.
 
double m_aduEquivalentV
 ADU equivalent (electrons/ADU) for v strips.
 
double m_electronicNoiseU
 The electronic noise for u (long) strips.
 
double m_electronicNoiseV
 The electronic noise for v (short) strips.
 
double m_aduEquivalentSbwU
 ADU equivalent (electrons/ADU) for u strips, Sbw barrel sensors.
 
double m_aduEquivalentSbwV
 ADU equivalent (electrons/ADU) for v strips, Sbw barrel sensors.
 
double m_electronicNoiseSbwU
 The electronic noise for u strips in bw barrel (non-Origami) sensors.
 
double m_electronicNoiseSbwV
 The electronic noise for v strips in bw barrel (non-Origami) sensors.
 
bool m_isBackward
 Is this a backward barrel sensor?
 
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.
 

Detailed Description

Specific implementation of SensorInfo for SVD Sensors which provides additional sensor specific information.

This is a temporary fixup: the parameters are stored in the geometry xml files.

Definition at line 25 of file SensorInfo.h.

Member Enumeration Documentation

◆ CarrierType

Enum to flag charge carriers.

Enumerator
hole 

electrons

Definition at line 38 of file SensorInfo.h.

38 {
39 electron = -1,
40 hole = +1
41 };

◆ Coordinate

enum Coordinate

Enum for parametric access to sensor coordinates.

Definition at line 31 of file SensorInfo.h.

31 {
32 u = 1,
33 v = 0
34 };

◆ SensorType

enum SensorType
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 32 of file SensorInfoBase.h.

32 {
33 PXD = 0,
34 SVD = 1,
35 TEL = 2,
36 VXD = -1,
37 };
@ VXD
Any type of VXD Sensor.
@ TEL
Testbeam telescope sensor.

Constructor & Destructor Documentation

◆ SensorInfo()

SensorInfo ( VxdID  id = 0,
float  width = 0,
float  length = 0,
float  thickness = 0,
int  uCells = 0,
int  vCells = 0,
float  width2 = 0 
)
inline

Constructor which automatically sets the SensorType to SensorInfo::SVD.

Parameters
idVXD ID of the sensor.
widthWidth of the sensor.
lengthLength of the sensor.
thicknessThickness of the senosr.
uCellsNumber of strips in u dirrection.
vCellsNumber of strips in v direction.
width2For wedge sensors, width is the width at 0, width2 is the width at maximum u.

Definition at line 52 of file SensorInfo.h.

53 :
54 VXD::SensorInfoBase(SensorInfo::SVD, id, width, length, thickness, uCells, vCells, width2, -1, 0),
64 m_isBackward(false)
65 {
66 setIsBackward(id);
67 }
double m_electronicNoiseSbwU
The electronic noise for u strips in bw barrel (non-Origami) sensors.
Definition: SensorInfo.h:282
double m_backplaneCapacitanceV
The backplane capacitance/cm for the sensor's v strips.
Definition: SensorInfo.h:264
void setIsBackward(VxdID id)
Determine if this is a backward side barrel sensor.
Definition: SensorInfo.h:74
double m_stripEdgeV
The distance between end of strips and edge of active area.
Definition: SensorInfo.h:252
double m_electronicNoiseSbwV
The electronic noise for v strips in bw barrel (non-Origami) sensors.
Definition: SensorInfo.h:284
double m_aduEquivalentSbwU
ADU equivalent (electrons/ADU) for u strips, Sbw barrel sensors.
Definition: SensorInfo.h:278
bool m_isBackward
Is this a backward barrel sensor?
Definition: SensorInfo.h:286
double m_electronicNoiseV
The electronic noise for v (short) strips.
Definition: SensorInfo.h:276
double m_stripEdgeU
The distance between end of strips and edge of active area.
Definition: SensorInfo.h:250
double m_aduEquivalentSbwV
ADU equivalent (electrons/ADU) for v strips, Sbw barrel sensors.
Definition: SensorInfo.h:280
double m_biasVoltage
The bias voltage on the sensor.
Definition: SensorInfo.h:256
double m_interstripCapacitanceU
The interstrip capacitance/cm for the sensor's u strips.
Definition: SensorInfo.h:260
double m_aduEquivalentV
ADU equivalent (electrons/ADU) for v strips.
Definition: SensorInfo.h:272
double m_electronicNoiseU
The electronic noise for u (long) strips.
Definition: SensorInfo.h:274
double m_couplingCapacitanceV
The coupling capacitance/cm for the sensor's v strips.
Definition: SensorInfo.h:268
double m_interstripCapacitanceV
The interstrip capacitance/cm for the sensor's v strips.
Definition: SensorInfo.h:266
double m_aduEquivalentU
ADU equivalent (electrons/ADU) for u strips.
Definition: SensorInfo.h:270
double m_backplaneCapacitanceU
The backplane capacitance/cm for the sensor's u strips.
Definition: SensorInfo.h:258
double m_depletionVoltage
The depletion voltage of the Silicon sensor.
Definition: SensorInfo.h:254
double m_couplingCapacitanceU
The coupling capacitance/cm for the sensor's u strips.
Definition: SensorInfo.h:262
double m_temperature
Sensor temperature.
Definition: SensorInfo.h:248

Member Function Documentation

◆ forceInside() [1/2]

void forceInside ( double &  u,
double &  v 
) const
inlineinherited

Force a position to be inside the active area.

Parameters
uu coordinate to be forced inside
vv coordinate to be forced inside

Definition at line 255 of file SensorInfoBase.h.

256 {
257 double length = getLength() / 2.0;
258 v = std::min(length, std::max(-length, v));
259 double width = getWidth(v) / 2.0;
260 u = std::min(width, std::max(-width, u));
261 }
double getWidth(double v=0) const
Return the width of the sensor.
double getLength() const
Return the length of the sensor.

◆ forceInside() [2/2]

void forceInside ( ROOT::Math::XYZVector &  local) const
inlineinherited

Force a given point inside the active area.

Parameters
localpoint in local coordinates, will be modified to lie inside or at the border of the sensor

Definition at line 358 of file SensorInfoBase.h.

359 {
360 double u = local.X();
361 double v = local.Y();
362 double thickness = getThickness() / 2.0;
363 forceInside(u, v);
364 local.SetX(u);
365 local.SetY(v);
366 local.SetZ(std::min(thickness, std::max(-thickness, local.Z())));
367 }
double getThickness() const
Return the thickness of the sensor.
void forceInside(double &u, double &v) const
Force a position to be inside the active area.

◆ getAduEquivalentU()

double getAduEquivalentU ( ) const
inline

Return ADU equivalent for u strips.

Definition at line 336 of file SensorInfo.h.

337 {
338 if (m_isBackward)
339 return m_aduEquivalentSbwU;
340 else
341 return m_aduEquivalentU;
342 }

◆ getAduEquivalentV()

double getAduEquivalentV ( ) const
inline

Return ADU equivalent for v strips.

Definition at line 344 of file SensorInfo.h.

345 {
346 if (m_isBackward)
347 return m_aduEquivalentSbwU;
348 else
349 return m_aduEquivalentV;
350 }

◆ getBackplaneCapacitanceU()

double getBackplaneCapacitanceU ( int  uID = 0) const
inline

Return the backplane capacitanceU for the sensor's u strips (long).

Definition at line 306 of file SensorInfo.h.

307 {
309 }
double getStripLengthU(int uID=0) const
Return u-strip length.
Definition: SensorInfo.h:289

◆ getBackplaneCapacitanceV()

double getBackplaneCapacitanceV ( int  vID = 0) const
inline

Return the backplane capacitanceV for the sensor's v strips (short).

Definition at line 321 of file SensorInfo.h.

322 {
324 }
double getStripLengthV(int vID=0) const
Return v-strip length.
Definition: SensorInfo.h:301

◆ getBackwardWidth()

double getBackwardWidth ( ) const
inlineinherited

Convinience Wrapper to return width at backward side.

Returns
width of the sensor at the backward side

Definition at line 89 of file SensorInfoBase.h.

90 {
91 return getWidth(-0.5 * m_length);
92 }
double m_length
Length of the Sensor.

◆ getBField()

const ROOT::Math::XYZVector & getBField ( const ROOT::Math::XYZVector &  point) const

Get B field value from the field map.

Parameters
pointDesired position in local coordinates.
Returns
The B field vector in local coordinates.

Definition at line 58 of file SensorInfo.cc.

59{
60 // useful just for testing:
61 // static ROOT::Math::XYZVector noBfield(0,0,0);
62 // return noBfield;
63
64 static ROOT::Math::XYZVector oldPoint(0, 0, 1000 * Unit::cm);
65 static ROOT::Math::XYZVector oldField(0, 0, 0);
66 static double bRadius = 0.5 * Unit::cm;
67 if ((point - oldPoint).R() > bRadius) { // renew if far point
68 ROOT::Math::XYZVector pointGlobal = pointToGlobal(point, true);
69 ROOT::Math::XYZVector bGlobal = BFieldManager::getField(pointGlobal);
70 ROOT::Math::XYZVector bLocal = vectorToLocal(bGlobal, true);
71 oldPoint = point;
72 oldField = bLocal;
73 }
74 return oldField;
75}
double R
typedef autogenerated by FFTW
static const double cm
Standard units with the value = 1.
Definition: Unit.h:47
ROOT::Math::XYZVector pointToGlobal(const ROOT::Math::XYZVector &local, bool reco=false) const
Convert a point from local to global coordinates.
ROOT::Math::XYZVector vectorToLocal(const ROOT::Math::XYZVector &global, bool reco=false) const
Convert a vector from global to local coordinates.
static void getField(const double *pos, double *field)
return the magnetic field at a given position.
Definition: BFieldManager.h:91

◆ getBiasVoltage()

double getBiasVoltage ( ) const
inline

Return the bias voltage on the sensor.

Definition at line 163 of file SensorInfo.h.

163{ return m_biasVoltage; }

◆ getCouplingCapacitanceU()

double getCouplingCapacitanceU ( int  uID = 0) const
inline

Return the coupling capacitanceU of the sensor's u strips (long)

Definition at line 316 of file SensorInfo.h.

317 {
319 }

◆ getCouplingCapacitanceV()

double getCouplingCapacitanceV ( int  vID = 0) const
inline

Return the coupling capacitanceV of the sensor's v strips (short).

Definition at line 331 of file SensorInfo.h.

332 {
334 }

◆ getDepletionVoltage()

double getDepletionVoltage ( ) const
inline

Return the depletion voltage of the sensor.

Definition at line 161 of file SensorInfo.h.

161{ return m_depletionVoltage; }

◆ getEField()

const ROOT::Math::XYZVector getEField ( const ROOT::Math::XYZVector &  point) const

Model of the E field inside the sensor.

Parameters
pointDesired position in local coordinates.
Returns
The E field vector in local coordinates.

Definition at line 47 of file SensorInfo.cc.

48{
49
50 ROOT::Math::XYZVector E(0, 0,
52 * ((+point.Z() - 0.5 * m_thickness) / m_thickness)
54
55 return E;
56}
R E
internal precision of FFTW codelets
double m_thickness
Thickness of the Sensor.

◆ getElectronicNoiseU()

double getElectronicNoiseU ( ) const
inline

Return electronic noise in e- for u (long) strips.

Definition at line 352 of file SensorInfo.h.

353 {
354 if (m_isBackward)
356 else
357 return m_electronicNoiseU;
358 }

◆ getElectronicNoiseV()

double getElectronicNoiseV ( ) const
inline

Return electronic noise in e- for v (short) strips.

Definition at line 360 of file SensorInfo.h.

361 {
362 if (m_isBackward)
364 else
365 return m_electronicNoiseV;
366 }

◆ getElectronMobility()

double getElectronMobility ( double  E) const

Calculate electron mobility at a given electric field.

Based on C. Canali et al., IEEE, ED-22, (1975) 1045

Parameters
EElectric field, V/cm
Returns
electron mobility, cm*2/V.ns

Definition at line 21 of file SensorInfo.cc.

22{
23 // Electron parameters - maximum velocity, critical intensity, beta factor
24 static double vmElec = 1.53 * pow(m_temperature, -0.87) * 1.E9 * Unit::cm
25 / Unit::s;
26 static double EcElec = 1.01 * pow(m_temperature, +1.55) * Unit::V
27 / Unit::cm;
28 static double betaElec = 2.57 * pow(m_temperature, +0.66) * 1.E-2;
29
30 return (vmElec / EcElec * 1.
31 / (pow(1. + pow((fabs(E) / EcElec), betaElec), (1. / betaElec))));
32}
static const double V
[voltage]
Definition: Unit.h:117
static const double s
[second]
Definition: Unit.h:95

◆ getForwardWidth()

double getForwardWidth ( ) const
inlineinherited

Convinience Wrapper to return width at forward side.

Returns
width of the sensor at the forward side

Definition at line 97 of file SensorInfoBase.h.

98 {
99 return getWidth(0.5 * m_length);
100 }

◆ getHallFactor()

double getHallFactor ( CarrierType  carrier) const
inline

Return Hall factor for the corresponding carrier type.

Parameters
carrierelectron or hole, SVD::SensorInfo::CarrierType
Returns
The Hall factor for the actual sensor temperature.

Definition at line 213 of file SensorInfo.h.

214 {
215 if (carrier == electron)
216 return (1.13 + 0.0008 * (m_temperature - 273));
217 else
218 return (0.72 - 0.0005 * (m_temperature - 273));
219 }

◆ getHoleMobility()

double getHoleMobility ( double  E) const

Calculate hole mobility at a given electric field.

Based on C. Canali et al., IEEE, ED-22, (1975) 1045

Parameters
EElectric field, V/cm
Returns
hole mobility, cm*2/V.ns

Definition at line 34 of file SensorInfo.cc.

35{
36 // Hole parameters - maximum velocity, critical intensity, beta factor
37 static double vmHole = 1.62 * pow(m_temperature, -0.52) * 1.E8 * Unit::cm
38 / Unit::s;
39 static double EcHole = 1.24 * pow(m_temperature, +1.68) * Unit::V
40 / Unit::cm;
41 static double betaHole = 0.46 * pow(m_temperature, +0.17);
42
43 return (vmHole / EcHole * 1.
44 / (pow(1. + pow((fabs(E) / EcHole), betaHole), (1. / betaHole))));
45}

◆ getID()

VxdID getID ( ) const
inlineinherited

Return the ID of the Sensor.

Definition at line 74 of file SensorInfoBase.h.

74{ return m_id; }
unsigned short m_id
ID of the Sensor.

◆ getInterstripCapacitanceU()

double getInterstripCapacitanceU ( int  uID = 0) const
inline

Return the interstrip capacitanceU for the sensor's u strips (long).

Definition at line 311 of file SensorInfo.h.

312 {
314 }

◆ getInterstripCapacitanceV()

double getInterstripCapacitanceV ( int  vID = 0) const
inline

Return the interstrip capacitanceV for the sensor's v strips (short).

Definition at line 326 of file SensorInfo.h.

327 {
329 }

◆ getLength()

double getLength ( ) const
inlineinherited

Return the length of the sensor.

Returns
length of the sensor

Definition at line 105 of file SensorInfoBase.h.

105{ return m_length; }

◆ getLorentzShift() [1/2]

double getLorentzShift ( bool  isUCoordinate,
double  position 
) const

Calculate mean Lorentz shift along a given coordinate, with B-field averaged along the corresponding strip.

Use this for 1D clusters, where only one coordinate is known.

Parameters
isUCoordinateTrue if u, false if v.
positionThe position of the strip.
Returns
Mean Lorentz shift along a given coordinate.

Definition at line 122 of file SensorInfo.cc.

123{
124 if (isUCoordinate)
125 return getLorentzShift(position, 0.0).X();
126 else
127 return getLorentzShift(0.0, position).Y();
128}
const ROOT::Math::XYZVector & getLorentzShift(double uCoord, double vCoord) const
Calculate Lorentz shift along a given coordinate in a magnetic field at a given position.
Definition: SensorInfo.cc:104

◆ getLorentzShift() [2/2]

const ROOT::Math::XYZVector & getLorentzShift ( double  uCoord,
double  vCoord 
) const

Calculate Lorentz shift along a given coordinate in a magnetic field at a given position.

This method can only be used for a completely reconstructed 2D cluster. For 1D clusters, use the following method.

Parameters
uCoordu coordinate where the shift is required
vCoordv coordinate where the shift is required
Returns
TVector with Lorentz shift along u and v at the given position.

Definition at line 104 of file SensorInfo.cc.

105{
106 static ROOT::Math::XYZVector result;
107 double distanceToFrontPlane = 0.5 * m_thickness;
108 double distanceToBackPlane = 0.5 * m_thickness;
109
110 // Approximation: calculate drift velocity at the point halfway towards
111 // the respective sensor surface.
112 ROOT::Math::XYZVector v_e = getVelocity(electron, ROOT::Math::XYZVector(uCoord, vCoord, +0.5 * distanceToFrontPlane));
113 ROOT::Math::XYZVector v_h = getVelocity(hole, ROOT::Math::XYZVector(uCoord, vCoord, -0.5 * distanceToBackPlane));
114
115 // Calculate drift directions
116 ROOT::Math::XYZVector center_e = fabs(distanceToFrontPlane / v_e.Z()) * v_e;
117 ROOT::Math::XYZVector center_h = fabs(distanceToBackPlane / v_h.Z()) * v_h;
118 result.SetXYZ(center_h.X(), center_e.Y(), 0.0);
119 return result;
120}
const ROOT::Math::XYZVector getVelocity(CarrierType carrier, const ROOT::Math::XYZVector &point) const
Get drift velocity for electrons or holes at a given point.
Definition: SensorInfo.cc:78

◆ getStripLengthU()

double getStripLengthU ( int  uID = 0) const
inline

Return u-strip length.

Parameters
uIDnumber of the strip (ignored for rectangular sensors)
Returns
length of the u-strip.

Definition at line 289 of file SensorInfo.h.

290 {
291 // if this is a rectangular sensor, just return the default
292 if (m_deltaWidth == 0.0)
293 return (m_length - 2.0 * m_stripEdgeU);
294 else {
295 // calculate for a wedge sensor
296 double dw = (1.0 * uID / m_uCells - 0.5) * m_deltaWidth;
297 return (sqrt(dw * dw + m_length * m_length) - 2.0 * m_stripEdgeU);
298 }
299 }
double m_deltaWidth
Difference between backward and forward width, 0 for rectangular sensors.
int m_uCells
Number of strips/pixels in u direction.
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ getStripLengthV()

double getStripLengthV ( int  vID = 0) const
inline

Return v-strip length.

Parameters
vIDnumber of the strip (ignored for rectangular sensors)
Returns
length of the v-strip.

Definition at line 301 of file SensorInfo.h.

302 {
303 return (getWidth(getVCellPosition(vID)) - 2.0 * m_stripEdgeV);
304 }
double getVCellPosition(int vID) const
Return the position of a specific strip/pixel in v direction.

◆ getSurfaceParameters()

const std::vector< double > & getSurfaceParameters ( ) const
inlineinherited

Return parameters of planar deformation.

Definition at line 324 of file SensorInfoBase.h.

325 {
327 }
std::vector< double > m_surfaceDeformationParameters
Vector contains all parameter needed for description planar deformation of sensors.

◆ getTemperature()

double getTemperature ( ) const
inline

Return the sensor temperature.

Definition at line 149 of file SensorInfo.h.

149{return m_temperature; }

◆ getThickness()

double getThickness ( ) const
inlineinherited

Return the thickness of the sensor.

Returns
thickness of the sensor

Definition at line 110 of file SensorInfoBase.h.

110{ return m_thickness; }

◆ getTransformation()

const TGeoHMatrix & getTransformation ( bool  reco = false) const
inlineinherited

Return the transformation matrix of the Sensor.

Returns
Transformation matrix of the Sensor
Parameters
recoGet transformation for reconstruction (true) or nominal (false)

Definition at line 311 of file SensorInfoBase.h.

312 {
313 if (reco) return m_recoTransform;
314 else return m_transform;
315 }
TGeoHMatrix m_recoTransform
Alignment-corrected transformation matrix of the Sensor for use in reconstruction.
TGeoHMatrix m_transform
Nominal transformation matrix of the Sensor.

◆ getType()

SensorType getType ( ) const
inlineinherited

Return the Type of the Sensor.

Definition at line 72 of file SensorInfoBase.h.

72{ return m_type; }
SensorType m_type
Type of the Sensor.

◆ getUCellID()

int getUCellID ( double  u,
double  v = 0,
bool  clamp = false 
) const
inlineinherited

Return the corresponding pixel/strip ID of a given u coordinate.

Parameters
uu coordinate of the pixel/strip
vv coordinate of the pixel/strip, ignored for rectangular sensors
clampflag for clamp
Returns
ID of the pixel/strip covering the given coordinate

Definition at line 193 of file SensorInfoBase.h.

194 {
195 if (clamp) return std::min(getUCells() - 1, std::max(0, getUCellID(u, v, false)));
196 return static_cast<int>((u / getWidth(v) + 0.5) * m_uCells);
197 }
int getUCells() const
Return number of pixel/strips in u direction.
int getUCellID(double u, double v=0, bool clamp=false) const
Return the corresponding pixel/strip ID of a given u coordinate.

◆ getUCellPosition()

double getUCellPosition ( int  uID,
int  vID = -1 
) const
inlineinherited

Return the position of a specific strip/pixel in u direction.

Parameters
uIDid of the strip/pixel in u coordinates
vIDid of the strip/pixel in v coordinates, ignored for rectangular sensors
Returns
Pixel/Strip position in u direction

Definition at line 168 of file SensorInfoBase.h.

169 {
170 if (m_deltaWidth == 0) return ((uID + 0.5) / m_uCells - 0.5) * m_width;
171 double v = 0;
172 if (vID >= 0) v = getVCellPosition(vID);
173 return ((uID + 0.5) / m_uCells - 0.5) * getWidth(v);
174 }
double m_width
Width of the sensor.

◆ getUCells()

int getUCells ( ) const
inlineinherited

Return number of pixel/strips in u direction.

Definition at line 214 of file SensorInfoBase.h.

214{ return m_uCells; }

◆ getUPitch()

double getUPitch ( double  v = 0) const
inlineinherited

Return the pitch of the sensor.

Parameters
vv-coordinate where to determine the pitch, ignored for rectangular sensors
Returns
Pixel/Strip size in u direction

Definition at line 132 of file SensorInfoBase.h.

132{ return getWidth(v) / m_uCells; }

◆ getUSize()

double getUSize ( double  v = 0) const
inlineinherited

Return the width of the sensor.

Parameters
vv-coordinate where to determine the width, ignored for recangular sensors
Returns
width of the Sensor

Definition at line 116 of file SensorInfoBase.h.

116{ return getWidth(v); }

◆ getVCellID()

int getVCellID ( double  v,
bool  clamp = false 
) const
inlineinherited

Return the corresponding pixel/strip ID of a given v coordinate.

Parameters
vv coordinate of the pixel/strip
clampflag for clamp
Returns
ID of the pixel/strip covering the given coordinate

Definition at line 204 of file SensorInfoBase.h.

205 {
206 if (clamp) return std::min(getVCells() - 1, std::max(0, getVCellID(v, false)));
207 double nv = v / m_length + 0.5;
208 if (m_splitLength <= 0) return static_cast<int>(nv * m_vCells);
209 if (nv >= m_splitLength) return static_cast<int>((nv - m_splitLength) / (1 - m_splitLength) * m_vCells2) + m_vCells;
210 return static_cast<int>(nv / m_splitLength * m_vCells);
211 }
int getVCells() const
Return number of pixel/strips in v direction.
int m_vCells
Number of strips/pixels in v direction (up to splitLength for two pixel sizes)
int getVCellID(double v, bool clamp=false) const
Return the corresponding pixel/strip ID of a given v coordinate.
int m_vCells2
Number of strips/pixels in v direction after splitLength, 0 for only one pixel size.
double m_splitLength
Relative length at which second pixel size starts, 0 for only one pixel size.

◆ getVCellPosition()

double getVCellPosition ( int  vID) const
inlineinherited

Return the position of a specific strip/pixel in v direction.

Parameters
vIDid of the strip/pixel in v coordinates
Returns
Pixel/Strip position in v direction

Definition at line 180 of file SensorInfoBase.h.

181 {
182 if (m_splitLength <= 0) return ((vID + 0.5) / m_vCells - 0.5) * m_length;
183 if (vID >= m_vCells) return ((vID - m_vCells + 0.5) / m_vCells2 * (1 - m_splitLength) - 0.5 + m_splitLength) * m_length;
184 return ((vID + 0.5) / m_vCells * m_splitLength - 0.5) * m_length;
185 }

◆ getVCells()

int getVCells ( ) const
inlineinherited

Return number of pixel/strips in v direction.

Definition at line 216 of file SensorInfoBase.h.

216{ return m_vCells + m_vCells2; }

◆ getVCells2()

int getVCells2 ( ) const
inlineinherited

Return number of pixel/strips in v direction up to change pitch.

Definition at line 218 of file SensorInfoBase.h.

218{ return m_vCells2; }

◆ getVelocity()

const ROOT::Math::XYZVector getVelocity ( CarrierType  carrier,
const ROOT::Math::XYZVector &  point 
) const

Get drift velocity for electrons or holes at a given point.

Parameters
carrierElectron or hole.
pointThe point in local coordinates.
Returns
The vector of drift velocity in local coordinates.

Definition at line 78 of file SensorInfo.cc.

79{
80 ROOT::Math::XYZVector E = getEField(point);
81 // This is what makes the digitizer slow.
82 ROOT::Math::XYZVector B = getBField(point);
83 // Set mobility parameters
84 double mobility = 0;
85 double hallFactor = getHallFactor(carrier);
86
87 if (carrier == electron) {
88 mobility = -getElectronMobility(E.R());
89 } else {
90 mobility = getHoleMobility(E.R());
91 }
92
93 double mobilityH = hallFactor * fabs(mobility);
94
95 // Calculate products
96 ROOT::Math::XYZVector EcrossB = E.Cross(B);
97 ROOT::Math::XYZVector BEdotB = E.Dot(B) * B;
98 ROOT::Math::XYZVector velocity = mobility * E + mobility * mobilityH * EcrossB
99 + mobility * mobilityH * mobilityH * BEdotB;
100 velocity *= 1.0 / (1.0 + mobilityH * mobilityH * B.Mag2());
101 return velocity;
102}
const ROOT::Math::XYZVector & getBField(const ROOT::Math::XYZVector &point) const
Get B field value from the field map.
Definition: SensorInfo.cc:58
double getElectronMobility(double E) const
Calculate electron mobility at a given electric field.
Definition: SensorInfo.cc:21
const ROOT::Math::XYZVector getEField(const ROOT::Math::XYZVector &point) const
Model of the E field inside the sensor.
Definition: SensorInfo.cc:47
double getHallFactor(CarrierType carrier) const
Return Hall factor for the corresponding carrier type.
Definition: SensorInfo.h:213
double getHoleMobility(double E) const
Calculate hole mobility at a given electric field.
Definition: SensorInfo.cc:34

◆ getVPitch()

double getVPitch ( double  v = 0) const
inlineinherited

Return the pitch of the sensor.

Parameters
vv-coordinate where to determine the pitch, only used for sensors with two different pixel sizes along v
Returns
Pixel/Strip size in v direction

Definition at line 139 of file SensorInfoBase.h.

140 {
141 if (m_splitLength <= 0) return m_length / m_vCells;
142 if (v / m_length + 0.5 >= m_splitLength) return m_length * (1 - m_splitLength) / m_vCells2;
144 }

◆ getVPitchID()

int getVPitchID ( double  v = 0) const
inlineinherited

Return the pitch ID of the sensor.

Parameters
vv-coordinate where to determine the pitchID only used for PXD sensors with two different pixel sizes along v
Returns
Pixel/Strip ID in v direction: 0 for pitch at smaller v, 1 for bigger v Attention: Pitch ID depend from sensor position For PXD it swap for sensor=1 vs. seensor=2 Sensor=1: bigger pitch = 0, smaller = 1 Sensor=2: smaller pitch = 0, bigger = 1

Definition at line 156 of file SensorInfoBase.h.

157 {
158 if (m_splitLength <= 0) return 0;
159 if (v / m_length + 0.5 >= m_splitLength) return 0;
160 return 1;
161 }

◆ getVSize()

double getVSize ( ) const
inlineinherited

Return the length of the sensor.

Returns
length of the sensor

Definition at line 121 of file SensorInfoBase.h.

121{ return getLength(); }

◆ getWidth()

double getWidth ( double  v = 0) const
inlineinherited

Return the width of the sensor.

Parameters
vv-coordinate where to determine the width, ignored for recangular sensors
Returns
width of the Sensor

Definition at line 80 of file SensorInfoBase.h.

81 {
82 if (m_deltaWidth == 0) return m_width;
83 return m_width + (v / m_length + 0.5) * m_deltaWidth;
84 }

◆ getWSize()

double getWSize ( ) const
inlineinherited

Return the thickness of the sensor.

Returns
thickness of the sensor

Definition at line 126 of file SensorInfoBase.h.

126{ return getThickness(); }

◆ inside() [1/2]

bool inside ( const ROOT::Math::XYZVector &  local,
double  uTolerance = DBL_EPSILON,
double  vTolerance = DBL_EPSILON,
double  wTolerance = DBL_EPSILON 
) const
inlineinherited

Check wether a given point is inside the active area.

Parameters
localpoint in local coordinates
uTolerancetolerance to be added on each side of the sensor in u direction
vTolerancetolerance to be added on each side of the sensor in v direction
wTolerancetolerance to be added on each side of the sensor in w direction
Returns
true if inside active area, false otherwise

Definition at line 243 of file SensorInfoBase.h.

245 {
246 double nw = local.Z() / (getThickness() + 2 * wTolerance) + 0.5;
247
248 return inside(local.X(), local.Y(), uTolerance, vTolerance) && 0 <= nw && nw <= 1;
249 }
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.

◆ inside() [2/2]

bool inside ( double  u,
double  v,
double  uTolerance = DBL_EPSILON,
double  vTolerance = DBL_EPSILON 
) const
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

Parameters
uu coordinate to check, supply 0 if not interested
vv coordinate to check, supply 0 if not interested
uTolerancetolerance to be added on each side of the sensor in u direction
vTolerancetolerance to be added on each side of the sensor in v direction
Returns
true if inside active area, false otherwise

Definition at line 229 of file SensorInfoBase.h.

230 {
231 double nu = u / (getWidth(v) + 2 * uTolerance) + 0.5;
232 double nv = v / (getLength() + 2 * vTolerance) + 0.5;
233 return 0 <= nu && nu <= 1 && 0 <= nv && nv <= 1;
234 }

◆ pointToGlobal()

ROOT::Math::XYZVector pointToGlobal ( const ROOT::Math::XYZVector &  local,
bool  reco = false 
) const
inlineinherited

Convert a point from local to global coordinates.

Parameters
localpoint in local coordinates
recoUse sensor position in reconstruction (true) or in nominal geometry (false)
Returns
point in global coordinates

Definition at line 369 of file SensorInfoBase.h.

370 {
371 double clocal[3];
372 double cmaster[3];
373 local.GetCoordinates(clocal);
374 if (reco) m_recoTransform.LocalToMaster(clocal, cmaster);
375 else m_transform.LocalToMaster(clocal, cmaster);
376 return ROOT::Math::XYZVector(cmaster[0], cmaster[1], cmaster[2]);
377 }

◆ pointToLocal()

ROOT::Math::XYZVector pointToLocal ( const ROOT::Math::XYZVector &  global,
bool  reco = false 
) const
inlineinherited

Convert a point from global to local coordinates.

Parameters
globalpoint in global coordinates
recoUse sensor position in reconstruction (true) or in nominal geometry (false)
Returns
point in local coordinates

Definition at line 389 of file SensorInfoBase.h.

390 {
391 double clocal[3];
392 double cmaster[3];
393 global.GetCoordinates(cmaster);
394 if (reco) m_recoTransform.MasterToLocal(cmaster, clocal);
395 else m_transform.MasterToLocal(cmaster, clocal);
396 return ROOT::Math::XYZVector(clocal[0], clocal[1], clocal[2]);
397 }

◆ setID()

void setID ( VxdID  id)
inline

Change the SensorID.

Useful to copy the SensorInfo from one sensor and use it for another.

Parameters
idVxdID to be assigned to current sensor.

Definition at line 85 of file SensorInfo.h.

86 {
87 m_id = id;
88 setIsBackward(id);
89 }

◆ setIsBackward()

void setIsBackward ( VxdID  id)
inline

Determine if this is a backward side barrel sensor.

We have special noise settings for these snesors. We need to cheat here, since we don't want to ask the GeoCache. @ param id VxdID of this sensor

Definition at line 74 of file SensorInfo.h.

75 {
76 static const unsigned short layerSensors[] = {0, 0, 0, 2, 3, 4, 5};
78 (id.getLayerNumber() > 3)
79 && (id.getSensorNumber() == layerSensors[id.getLayerNumber()]);
80 }

◆ setSensorParams()

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 
)
inline

Set sensor operation parameters.

Parameters
stripEdgeUdistance from end of strip to edge of active area.
stripEdgeVdistance from end of strip to edge of active area.
depletionVoltageDepletion voltage of the sensor.
biasVoltageBias voltage on the sensor.
backplaneCapacitanceUBackplane capacitance wrt. the strips.
interstripCapacitanceUInterstrip capacitance for the sensor.
couplingCapacitanceUCoupling capacitance for the strips.
backplaneCapacitanceVBackplane capacitance wrt. the strips.
interstripCapacitanceVInterstrip capacitance for the sensor.
couplingCapacitanceVCoupling capacitance for the strips.
AduEquivalentU
AduEquivalentV
electronicNoiseU
electronicNoiseV
AduEquivalentSbwU
AduEquivalentSbwV
electronicNoiseSbwU
electronicNoiseSbwV

Definition at line 111 of file SensorInfo.h.

127 {
128 m_stripEdgeU = stripEdgeU,
129 m_stripEdgeV = stripEdgeV,
130 m_depletionVoltage = depletionVoltage;
131 m_biasVoltage = biasVoltage;
132 m_backplaneCapacitanceU = backplaneCapacitanceU;
133 m_interstripCapacitanceU = interstripCapacitanceU;
134 m_couplingCapacitanceU = couplingCapacitanceU;
135 m_backplaneCapacitanceV = backplaneCapacitanceV;
136 m_interstripCapacitanceV = interstripCapacitanceV;
137 m_couplingCapacitanceV = couplingCapacitanceV;
138 m_aduEquivalentU = AduEquivalentU;
139 m_aduEquivalentV = AduEquivalentV;
140 m_electronicNoiseU = electronicNoiseU;
141 m_electronicNoiseV = electronicNoiseV;
142 m_aduEquivalentSbwU = AduEquivalentSbwU;
143 m_aduEquivalentSbwV = AduEquivalentSbwV;
144 m_electronicNoiseSbwU = electronicNoiseSbwU;
145 m_electronicNoiseSbwV = electronicNoiseSbwV;
146 }

◆ setSurfaceParameters()

void setSurfaceParameters ( const std::vector< double > &  planarParameters)
inlineinherited

Fill parameters of planar deformation to vector.

Definition at line 318 of file SensorInfoBase.h.

319 {
320 m_surfaceDeformationParameters = planarParameters;
321 }

◆ setTransformation()

void setTransformation ( const TGeoHMatrix &  transform,
bool  reco = false 
)
inlineinherited

Set the transformation matrix of the Sensor.

Parameters
transformTransformation matrix of the Sensor
recoSet transformation for reconstruction (true) or nominal (false)

Definition at line 301 of file SensorInfoBase.h.

302 {
303 if (reco) m_recoTransform = transform;
304 else m_transform = transform;
305 }

◆ vectorToGlobal()

ROOT::Math::XYZVector vectorToGlobal ( const ROOT::Math::XYZVector &  local,
bool  reco = false 
) const
inlineinherited

Convert a vector from local to global coordinates.

Parameters
localvector in local coordinates
recoUse sensor position in reconstruction (true) or in nominal geometry (false)
Returns
vector in global coordinates

Definition at line 379 of file SensorInfoBase.h.

380 {
381 double clocal[3];
382 double cmaster[3];
383 local.GetCoordinates(clocal);
384 if (reco) m_recoTransform.LocalToMasterVect(clocal, cmaster);
385 else m_transform.LocalToMasterVect(clocal, cmaster);
386 return ROOT::Math::XYZVector(cmaster[0], cmaster[1], cmaster[2]);
387 }

◆ vectorToLocal()

ROOT::Math::XYZVector vectorToLocal ( const ROOT::Math::XYZVector &  global,
bool  reco = false 
) const
inlineinherited

Convert a vector from global to local coordinates.

Parameters
globalvector in global coordinates
recoUse sensor position in reconstruction (true) or in nominal geometry (false)
Returns
vector in local coordinates

Definition at line 399 of file SensorInfoBase.h.

400 {
401 double clocal[3];
402 double cmaster[3];
403 global.GetCoordinates(cmaster);
404 if (reco) m_recoTransform.MasterToLocalVect(cmaster, clocal);
405 else m_transform.MasterToLocalVect(cmaster, clocal);
406 return ROOT::Math::XYZVector(clocal[0], clocal[1], clocal[2]);
407 }

Member Data Documentation

◆ c_fanoFactorSi

const double c_fanoFactorSi = 0.08

The Fano factor for silicon.

Definition at line 28 of file SensorInfo.h.

◆ m_aduEquivalentSbwU

double m_aduEquivalentSbwU
protected

ADU equivalent (electrons/ADU) for u strips, Sbw barrel sensors.

Definition at line 278 of file SensorInfo.h.

◆ m_aduEquivalentSbwV

double m_aduEquivalentSbwV
protected

ADU equivalent (electrons/ADU) for v strips, Sbw barrel sensors.

Definition at line 280 of file SensorInfo.h.

◆ m_aduEquivalentU

double m_aduEquivalentU
protected

ADU equivalent (electrons/ADU) for u strips.

Definition at line 270 of file SensorInfo.h.

◆ m_aduEquivalentV

double m_aduEquivalentV
protected

ADU equivalent (electrons/ADU) for v strips.

Definition at line 272 of file SensorInfo.h.

◆ m_backplaneCapacitanceU

double m_backplaneCapacitanceU
protected

The backplane capacitance/cm for the sensor's u strips.

Definition at line 258 of file SensorInfo.h.

◆ m_backplaneCapacitanceV

double m_backplaneCapacitanceV
protected

The backplane capacitance/cm for the sensor's v strips.

Definition at line 264 of file SensorInfo.h.

◆ m_biasVoltage

double m_biasVoltage
protected

The bias voltage on the sensor.

Definition at line 256 of file SensorInfo.h.

◆ m_couplingCapacitanceU

double m_couplingCapacitanceU
protected

The coupling capacitance/cm for the sensor's u strips.

Definition at line 262 of file SensorInfo.h.

◆ m_couplingCapacitanceV

double m_couplingCapacitanceV
protected

The coupling capacitance/cm for the sensor's v strips.

Definition at line 268 of file SensorInfo.h.

◆ m_deltaWidth

double m_deltaWidth
protectedinherited

Difference between backward and forward width, 0 for rectangular sensors.

Definition at line 341 of file SensorInfoBase.h.

◆ m_depletionVoltage

double m_depletionVoltage
protected

The depletion voltage of the Silicon sensor.

Definition at line 254 of file SensorInfo.h.

◆ m_electronicNoiseSbwU

double m_electronicNoiseSbwU
protected

The electronic noise for u strips in bw barrel (non-Origami) sensors.

Definition at line 282 of file SensorInfo.h.

◆ m_electronicNoiseSbwV

double m_electronicNoiseSbwV
protected

The electronic noise for v strips in bw barrel (non-Origami) sensors.

Definition at line 284 of file SensorInfo.h.

◆ m_electronicNoiseU

double m_electronicNoiseU
protected

The electronic noise for u (long) strips.

Definition at line 274 of file SensorInfo.h.

◆ m_electronicNoiseV

double m_electronicNoiseV
protected

The electronic noise for v (short) strips.

Definition at line 276 of file SensorInfo.h.

◆ m_id

unsigned short m_id
protectedinherited

ID of the Sensor.

Definition at line 333 of file SensorInfoBase.h.

◆ m_interstripCapacitanceU

double m_interstripCapacitanceU
protected

The interstrip capacitance/cm for the sensor's u strips.

Definition at line 260 of file SensorInfo.h.

◆ m_interstripCapacitanceV

double m_interstripCapacitanceV
protected

The interstrip capacitance/cm for the sensor's v strips.

Definition at line 266 of file SensorInfo.h.

◆ m_isBackward

bool m_isBackward
protected

Is this a backward barrel sensor?

Definition at line 286 of file SensorInfo.h.

◆ m_length

double m_length
protectedinherited

Length of the Sensor.

Definition at line 337 of file SensorInfoBase.h.

◆ m_recoTransform

TGeoHMatrix m_recoTransform
protectedinherited

Alignment-corrected transformation matrix of the Sensor for use in reconstruction.

Definition at line 353 of file SensorInfoBase.h.

◆ m_splitLength

double m_splitLength
protectedinherited

Relative length at which second pixel size starts, 0 for only one pixel size.

Definition at line 343 of file SensorInfoBase.h.

◆ m_stripEdgeU

double m_stripEdgeU
protected

The distance between end of strips and edge of active area.

Definition at line 250 of file SensorInfo.h.

◆ m_stripEdgeV

double m_stripEdgeV
protected

The distance between end of strips and edge of active area.

Definition at line 252 of file SensorInfo.h.

◆ m_surfaceDeformationParameters

std::vector<double> m_surfaceDeformationParameters = std::vector<double>(12, 0.0)
protectedinherited

Vector contains all parameter needed for description planar deformation of sensors.

Definition at line 355 of file SensorInfoBase.h.

◆ m_temperature

double m_temperature
protected

Sensor temperature.

Definition at line 248 of file SensorInfo.h.

◆ m_thickness

double m_thickness
protectedinherited

Thickness of the Sensor.

Definition at line 339 of file SensorInfoBase.h.

◆ m_transform

TGeoHMatrix m_transform
protectedinherited

Nominal transformation matrix of the Sensor.

Definition at line 351 of file SensorInfoBase.h.

◆ m_type

SensorType m_type
protectedinherited

Type of the Sensor.

Definition at line 331 of file SensorInfoBase.h.

◆ m_uCells

int m_uCells
protectedinherited

Number of strips/pixels in u direction.

Definition at line 345 of file SensorInfoBase.h.

◆ m_vCells

int m_vCells
protectedinherited

Number of strips/pixels in v direction (up to splitLength for two pixel sizes)

Definition at line 347 of file SensorInfoBase.h.

◆ m_vCells2

int m_vCells2
protectedinherited

Number of strips/pixels in v direction after splitLength, 0 for only one pixel size.

Definition at line 349 of file SensorInfoBase.h.

◆ m_width

double m_width
protectedinherited

Width of the sensor.

Definition at line 335 of file SensorInfoBase.h.


The documentation for this class was generated from the following files: