CbmRoot
CbmStsSimSensorDssdOrtho.h
Go to the documentation of this file.
1 
6 #ifndef CBMSTSSIMSENSORDSSDORTHO_H
7 #define CBMSTSSIMSENSORDSSDORTHO_H 1
8 
9 
10 #include "CbmStsSimSensorDssd.h"
11 #include <cassert>
12 
13 
28 
29 public:
33  CbmStsSimSensorDssdOrtho(CbmStsElement* element = nullptr);
34 
35 
43  CbmStsSimSensorDssdOrtho(Int_t nStripsF,
44  Double_t pitchF,
45  Int_t nStripsB,
46  Double_t pitchB,
47  CbmStsElement* element = nullptr);
48 
49 
52 
53 
56  operator=(const CbmStsSimSensorDssdOrtho& rhs) = delete;
57 
58 
61 
62 
67  virtual Int_t GetNofStrips(Int_t side) const {
68  assert(side == 0 || side == 1);
69  return fNofStrips[side];
70  }
71 
72 
79  virtual Bool_t Init();
80 
81 
87  virtual void ModifyStripPitch(Double_t pitch);
88 
89 
97  Bool_t SetParameters(Int_t nStripsF,
98  Double_t pitchF,
99  Int_t nStripsB,
100  Double_t pitchB);
101 
102 
104  std::string ToString() const;
105 
106 
107 protected:
108  Int_t fNofStrips[2];
109  Double_t fPitch[2];
110 
111 
134  virtual void Diffusion(Double_t x,
135  Double_t y,
136  Double_t sigma,
137  Int_t side,
138  Double_t& fracL,
139  Double_t& fracC,
140  Double_t& fracR);
141 
142 
152  virtual Int_t GetModuleChannel(Int_t strip, Int_t side, Int_t sensorId) const;
153 
154 
161  virtual Int_t GetStripNumber(Double_t x, Double_t y, Int_t side) const;
162 
163 
173  virtual void PropagateCharge(Double_t x,
174  Double_t y,
175  Double_t z,
176  Double_t charge,
177  Double_t bY,
178  Int_t side);
179 
180 
182 };
183 
184 
185 #endif
CbmStsSimSensorDssdOrtho::~CbmStsSimSensorDssdOrtho
virtual ~CbmStsSimSensorDssdOrtho()
Destructor
Definition: CbmStsSimSensorDssdOrtho.h:60
CbmStsSimSensorDssdOrtho::fNofStrips
Int_t fNofStrips[2]
Number of strips on front/back side.
Definition: CbmStsSimSensorDssdOrtho.h:108
CbmStsSimSensorDssdOrtho::GetNofStrips
virtual Int_t GetNofStrips(Int_t side) const
Number of strips on front or back side.
Definition: CbmStsSimSensorDssdOrtho.h:67
CbmStsSimSensorDssdOrtho::GetStripNumber
virtual Int_t GetStripNumber(Double_t x, Double_t y, Int_t side) const
Get strip number from point coordinates.
Definition: CbmStsSimSensorDssdOrtho.cxx:104
CbmStsSimSensorDssdOrtho::Init
virtual Bool_t Init()
Initialisation @value kTRUE if parameters and node are consistent.
Definition: CbmStsSimSensorDssdOrtho.cxx:134
CbmStsSimSensorDssdOrtho::PropagateCharge
virtual void PropagateCharge(Double_t x, Double_t y, Double_t z, Double_t charge, Double_t bY, Int_t side)
Definition: CbmStsSimSensorDssdOrtho.cxx:199
CbmStsSimSensorDssdOrtho::ModifyStripPitch
virtual void ModifyStripPitch(Double_t pitch)
Modify the strip pitch.
Definition: CbmStsSimSensorDssdOrtho.cxx:179
CbmStsSimSensorDssdOrtho::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: CbmStsSimSensorDssdOrtho.cxx:87
CbmStsSimSensorDssdOrtho::SetParameters
Bool_t SetParameters(Int_t nStripsF, Double_t pitchF, Int_t nStripsB, Double_t pitchB)
Set the internal sensor parameters.
Definition: CbmStsSimSensorDssdOrtho.cxx:287
CbmStsSimSensorDssd.h
CbmStsSimSensorDssdOrtho::operator=
CbmStsSimSensorDssdOrtho & operator=(const CbmStsSimSensorDssdOrtho &rhs)=delete
Assignment operator (disabled)
CbmStsSimSensorDssdOrtho::CbmStsSimSensorDssdOrtho
CbmStsSimSensorDssdOrtho(CbmStsSimSensorDssdOrtho &rhs)=delete
Copy constructor (disabled)
CbmStsSimSensorDssdOrtho::fPitch
Double_t fPitch[2]
Strip pitch front/back side [cm].
Definition: CbmStsSimSensorDssdOrtho.h:109
CbmStsSimSensorDssd
Abstract class for the simulation of double-sided silicon strip sensors.
Definition: CbmStsSimSensorDssd.h:45
CbmStsSimSensorDssdOrtho
Detector response for DSSD sensors with orthogonal strips.
Definition: CbmStsSimSensorDssdOrtho.h:27
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmStsSimSensorDssdOrtho::ToString
std::string ToString() const
Definition: CbmStsSimSensorDssdOrtho.cxx:331
CbmStsElement
Class representing an element of the STS setup.
Definition: CbmStsElement.h:32
CbmStsSimSensorDssdOrtho::ClassDef
ClassDef(CbmStsSimSensorDssdOrtho, 1)
CbmStsSimSensorDssdOrtho::CbmStsSimSensorDssdOrtho
CbmStsSimSensorDssdOrtho(CbmStsElement *element=nullptr)
Standard constructor.
Definition: CbmStsSimSensorDssdOrtho.cxx:25
CbmStsSimSensorDssdOrtho::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)
Definition: CbmStsSimSensorDssdOrtho.cxx:43