CbmRoot
CbmStsSimSensorDssdStereo.h
Go to the documentation of this file.
1 
6 #ifndef CBMSTSSIMSENSORDSSDSTEREO_H
7 #define CBMSTSSIMSENSORDSSDSTEREO_H 1
8 
9 
10 #include "CbmStsSimSensorDssd.h"
11 
12 
41 
42 public:
48  CbmStsSimSensorDssdStereo(CbmStsElement* element = nullptr);
49 
50 
58  CbmStsSimSensorDssdStereo(Double_t dy,
59  Int_t nStrips,
60  Double_t pitch,
61  Double_t stereoF,
62  Double_t stereoB,
63  CbmStsElement* element = nullptr);
64 
65 
68 
69 
72  operator=(const CbmStsSimSensorDssdStereo& rhs) = delete;
73 
74 
77 
78 
83  virtual Int_t GetNofStrips(Int_t) const { return fNofStrips; }
84 
85 
90  Double_t GetStereoAngle(Int_t side) const {
91  return (side == 0 ? fStereoF : fStereoB);
92  }
93 
94 
101  virtual Bool_t Init();
102 
103 
109  virtual void ModifyStripPitch(Double_t pitch);
110 
111 
113  std::string ToString() const;
114 
115 
116 protected:
117  Int_t fNofStrips = 0;
118  Double_t fPitch = 0.;
119  Double_t fStereoF = 100.;
120  Double_t fStereoB = 100;
121 
123  Double_t fTanStereo[2] {};
124  Double_t fCosStereo[2] {};
125  Int_t fStripShift[2] {};
126  Double_t fErrorFac = 0.;
127 
128 
151  virtual void Diffusion(Double_t x,
152  Double_t y,
153  Double_t sigma,
154  Int_t side,
155  Double_t& fracL,
156  Double_t& fracC,
157  Double_t& fracR);
158 
159 
169  virtual Int_t GetModuleChannel(Int_t strip, Int_t side, Int_t sensorId) const;
170 
171 
178  virtual Int_t GetStripNumber(Double_t x, Double_t y, Int_t side) const;
179 
180 
190  virtual void PropagateCharge(Double_t x,
191  Double_t y,
192  Double_t z,
193  Double_t charge,
194  Double_t bY,
195  Int_t side);
196 
197 
199 };
200 
201 
202 #endif
CbmStsSimSensorDssdStereo::operator=
CbmStsSimSensorDssdStereo & operator=(const CbmStsSimSensorDssdStereo &rhs)=delete
Assignment operator (disabled)
CbmStsSimSensorDssdStereo::GetStripNumber
virtual Int_t GetStripNumber(Double_t x, Double_t y, Int_t side) const
Get strip number from point coordinates.
Definition: CbmStsSimSensorDssdStereo.cxx:117
CbmStsSimSensorDssdStereo::fStripShift
Int_t fStripShift[2]
cosine of stereo angle front/back side
Definition: CbmStsSimSensorDssdStereo.h:125
CbmStsSimSensorDssdStereo::ClassDef
ClassDef(CbmStsSimSensorDssdStereo, 1)
CbmStsSimSensorDssdStereo::GetStereoAngle
Double_t GetStereoAngle(Int_t side) const
Stereo angle for front and back side.
Definition: CbmStsSimSensorDssdStereo.h:90
CbmStsSimSensorDssdStereo::ToString
std::string ToString() const
String output.
Definition: CbmStsSimSensorDssdStereo.cxx:302
CbmStsSimSensorDssdStereo
Detector response for DSSD sensors with stereo angles and cross-connection by double metal layers.
Definition: CbmStsSimSensorDssdStereo.h:40
CbmStsSimSensorDssdStereo::~CbmStsSimSensorDssdStereo
virtual ~CbmStsSimSensorDssdStereo()
Definition: CbmStsSimSensorDssdStereo.h:76
CbmStsSimSensorDssdStereo::fNofStrips
Int_t fNofStrips
Number of strips (same for front and back)
Definition: CbmStsSimSensorDssdStereo.h:117
CbmStsSimSensorDssdStereo::fTanStereo
Double_t fTanStereo[2]
Definition: CbmStsSimSensorDssdStereo.h:123
CbmStsSimSensorDssdStereo::fPitch
Double_t fPitch
Strip pitch /same for front and back)
Definition: CbmStsSimSensorDssdStereo.h:118
CbmStsSimSensorDssdStereo::Diffusion
virtual void Diffusion(Double_t x, Double_t y, Double_t sigma, Int_t side, Double_t &fracL, Double_t &fracC, Double_t &fracR)
Used for calculation of hit errors.
Definition: CbmStsSimSensorDssdStereo.cxx:51
CbmStsSimSensorDssdStereo::GetNofStrips
virtual Int_t GetNofStrips(Int_t) const
Number of strips (same for front and back side)
Definition: CbmStsSimSensorDssdStereo.h:83
CbmStsSimSensorDssdStereo::fCosStereo
Double_t fCosStereo[2]
tangent of stereo angle front/back side
Definition: CbmStsSimSensorDssdStereo.h:124
CbmStsSimSensorDssd.h
CbmStsSimSensorDssdStereo::Init
virtual Bool_t Init()
Initialisation @value kTRUE if parameters and node are consistent.
Definition: CbmStsSimSensorDssdStereo.cxx:157
CbmStsSimSensorDssdStereo::fStereoF
Double_t fStereoF
Stereo angle front side [degrees].
Definition: CbmStsSimSensorDssdStereo.h:119
CbmStsSimSensorDssd
Abstract class for the simulation of double-sided silicon strip sensors.
Definition: CbmStsSimSensorDssd.h:45
CbmStsSimSensorDssdStereo::CbmStsSimSensorDssdStereo
CbmStsSimSensorDssdStereo(CbmStsElement *element=nullptr)
Definition: CbmStsSimSensorDssdStereo.cxx:24
CbmStsSimSensorDssdStereo::PropagateCharge
virtual void PropagateCharge(Double_t x, Double_t y, Double_t z, Double_t charge, Double_t bY, Int_t side)
Definition: CbmStsSimSensorDssdStereo.cxx:229
CbmStsSimSensorDssdStereo::fStereoB
Double_t fStereoB
Stereo angle front back side [degrees].
Definition: CbmStsSimSensorDssdStereo.h:120
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmStsSimSensorDssdStereo::fErrorFac
Double_t fErrorFac
Shift in number of strips from bottom to top.
Definition: CbmStsSimSensorDssdStereo.h:126
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmStsSimSensorDssdStereo::CbmStsSimSensorDssdStereo
CbmStsSimSensorDssdStereo(CbmStsSimSensorDssdStereo &rhs)=delete
Copy constructor (disabled)
CbmStsSimSensorDssdStereo::GetModuleChannel
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.
Definition: CbmStsSimSensorDssdStereo.cxx:92
CbmStsElement
Class representing an element of the STS setup.
Definition: CbmStsElement.h:32
CbmStsSimSensorDssdStereo::ModifyStripPitch
virtual void ModifyStripPitch(Double_t pitch)
Modify the strip pitch.
Definition: CbmStsSimSensorDssdStereo.cxx:212