|
BmnRoot
|
Detector response for DSSD sensors with orthogonal strips. More...
#include <CbmStsSensorDssdOrtho.h>
Public Member Functions | |
| CbmStsSensorDssdOrtho (UInt_t address=0, TGeoPhysicalNode *node=nullptr, CbmStsElement *mother=nullptr) | |
| virtual | ~CbmStsSensorDssdOrtho () |
| virtual Double_t | GetPitch (Int_t side) const |
| Strip pitch for front and back side. | |
| virtual void | ModifyStripPitch (Double_t pitch) |
| Modify the strip pitch. | |
| Bool_t | SetParameters (Int_t nStripsF, Double_t pitchF, Int_t nStripsB, Double_t pitchB) |
| Set the internal sensor parameters. | |
| std::string | ToString () const |
Protected Member Functions | |
| virtual void | Diffusion (Double_t x, Double_t y, Double_t sigma, Int_t side, Double_t &fracL, Double_t &fracC, Double_t &fracR) |
| Strip pitch front/back side [cm]. | |
| virtual Int_t | GetModuleChannel (Int_t strip, Int_t side, Int_t sensorId) const |
| Get the readout channel in the module for a given strip. | |
| virtual Int_t | GetNofStrips (Int_t side) const |
| Number of strips on front or back side. | |
| virtual Int_t | GetStripNumber (Double_t x, Double_t y, Int_t side) const |
| Get strip number from point coordinates. | |
| virtual void | PropagateCharge (Double_t x, Double_t y, Double_t z, Double_t charge, Double_t bY, Int_t side) |
Protected Attributes | |
| Int_t | fNofStrips [2] |
| Number of strips on front/back side. | |
| Double_t | fPitch [2] |
Detector response for DSSD sensors with orthogonal strips.
This class describes the response of double-sided silicon strip sensors with vertical strips on the front side, which are read out at the top edge, and horizontal strips at the back side, which are read out at the left edge.
For these sensors, a daisy-chain with other sensors is not allowed. The mapping of strip number and module channel is thus trivial.
Definition at line 29 of file CbmStsSensorDssdOrtho.h.
| CbmStsSensorDssdOrtho::CbmStsSensorDssdOrtho | ( | UInt_t | address = 0, |
| TGeoPhysicalNode * | node = nullptr, |
||
| CbmStsElement * | mother = nullptr |
||
| ) |
Constructor
| address | Unique element address |
| node | Pointer to geometry node |
| mother | Pointer to mother element (module) |
Definition at line 22 of file CbmStsSensorDssdOrtho.cxx.
|
inlinevirtual |
Destructor
Definition at line 44 of file CbmStsSensorDssdOrtho.h.
|
protectedvirtual |
Strip pitch front/back side [cm].
Charge diffusion into adjacent strips
| [in] | x | x coordinate of charge centre (local c.s.) [cm] |
| [in] | y | y coordinate of charge centre (local c.s.) [cm] |
| [in] | sigma | Diffusion width [cm] |
| [in] | side | 0 = front (p) side, 1 = back (n) side |
| [out] | fracL | Fraction of charge in left neighbour strip |
| [out] | fracC | Fraction of charge in centre strip |
| [out] | fracR | Fraction of charge in right neighbour strip |
Calculates the fraction of charge in the most significant (centre) strip and its left and right neighbours. The charge distribution is assumed to be a 2-d Gaussian (resulting from thermal diffusion) with centre (x,y) and width sigma in both dimensions. The integration is performed in the coordinate across the strips. For simplicity, all charge left (right) of the centre strip is accumulated in the left (right) neighbour; this is justified since typical values of the diffusion width are much smaller than the strip pitch. The charge in the neighbouring strip is neglected if it is more distant than 3 sigma from the charge centre. Edge effects are neglected, i.e. diffusion into the inactive area is allowed.
Definition at line 34 of file CbmStsSensorDssdOrtho.cxx.
References fPitch.
Referenced by PropagateCharge().
|
protectedvirtual |
Get the readout channel in the module for a given strip.
| strip | Strip number |
| side | Side (0 = front, 1 = back) |
| sensorId | Index of sensor within module |
This method defines the mapping of the sensor strips to the readout channels in the module.
Definition at line 76 of file CbmStsSensorDssdOrtho.cxx.
References fNofStrips.
|
inlineprotectedvirtual |
Number of strips on front or back side.
| side | 0 = front side, 1 = back side |
Definition at line 132 of file CbmStsSensorDssdOrtho.h.
References fNofStrips.
|
inlinevirtual |
Strip pitch for front and back side.
| side | 0 = front side, 1 = back side @value Strip pitch [cm] on the specified sensor side |
Definition at line 51 of file CbmStsSensorDssdOrtho.h.
References fPitch.
|
protectedvirtual |
Get strip number from point coordinates.
| x | x coordinate [cm] |
| y | y coordinate [cm] |
| side | 0 = front side, 1 = back side |
Definition at line 94 of file CbmStsSensorDssdOrtho.cxx.
References dist(), and fPitch.
Referenced by PropagateCharge().
|
virtual |
Modify the strip pitch.
| New | strip pitch [cm] |
The number of strips is re-calculated accordingly.
Definition at line 124 of file CbmStsSensorDssdOrtho.cxx.
References fNofStrips, and fPitch.
|
protectedvirtual |
Propagate a charge created in the sensor to the readout strips
| x | x origin of charge in local c.s. [cm] |
| y | y origin of charge in local c.s. [cm] |
| z | z origin of charge in local c.s. [cm] |
| charge | Charge [e] |
| bY | Magnetic field (y component) [T] |
| side | 0 = front (n) side; 1 = back (p) side |
| sensor | Pointer to sensor object |
Definition at line 146 of file CbmStsSensorDssdOrtho.cxx.
References Diffusion(), fNofStrips, GetStripNumber(), and CbmStsSetup::Instance().
| Bool_t CbmStsSensorDssdOrtho::SetParameters | ( | Int_t | nStripsF, |
| Double_t | pitchF, | ||
| Int_t | nStripsB, | ||
| Double_t | pitchB | ||
| ) |
Set the internal sensor parameters.
| nStripsF | Number of strips front side (vertical) |
| pitchF | Strip pitch front side [cm] |
| stereoF | Strip stereo angle front side [degrees] |
| nStripsB | Number of strips back side (horizontal) |
| pitchB | Strip pitch back side [cm] |
| stereoB | Strip stereo angle back side [degrees] @value kTRUE if parameters are successfully set; else kFALSE |
Definition at line 236 of file CbmStsSensorDssdOrtho.cxx.
References fNofStrips, and fPitch.
| string CbmStsSensorDssdOrtho::ToString | ( | ) | const |
String output
Definition at line 277 of file CbmStsSensorDssdOrtho.cxx.
References fNofStrips, and fPitch.
|
protected |
Number of strips on front/back side.
Definition at line 85 of file CbmStsSensorDssdOrtho.h.
Referenced by GetModuleChannel(), GetNofStrips(), ModifyStripPitch(), PropagateCharge(), SetParameters(), and ToString().
|
protected |
Definition at line 86 of file CbmStsSensorDssdOrtho.h.
Referenced by Diffusion(), GetPitch(), GetStripNumber(), ModifyStripPitch(), SetParameters(), and ToString().