BmnRoot
Loading...
Searching...
No Matches
CbmStsSensorDssdOrtho.h
Go to the documentation of this file.
1
6#ifndef CBMSTSSENSORDSSDORTHO_H
7#define CBMSTSSENSORDSSDORTHO_H 1
8
9#include <cassert>
10#include <string>
11#include "CbmStsSensorDssd.h"
12
13class CbmStsPhysics;
14
15
29class CbmStsSensorDssdOrtho : public CbmStsSensorDssd
30{
31
32 public:
33
39 CbmStsSensorDssdOrtho(UInt_t address = 0, TGeoPhysicalNode* node = nullptr,
40 CbmStsElement* mother = nullptr);
41
42
45
46
51 virtual Double_t GetPitch(Int_t side) const {
52 assert ( side == 0 || side == 1 );
53 return fPitch[side];
54 }
55
56
62 virtual void ModifyStripPitch(Double_t pitch);
63
64
74 Bool_t SetParameters(Int_t nStripsF, Double_t pitchF,
75 Int_t nStripsB, Double_t pitchB);
76
77
79 std::string ToString() const;
80
81
82
83 protected:
84
85 Int_t fNofStrips[2];
86 Double_t fPitch[2];
87
88
111 virtual void Diffusion(Double_t x, Double_t y, Double_t sigma, Int_t side,
112 Double_t& fracL, Double_t& fracC, Double_t& fracR);
113
114
124 virtual Int_t GetModuleChannel(Int_t strip, Int_t side,
125 Int_t sensorId) const;
126
127
132 virtual Int_t GetNofStrips(Int_t side) const {
133 assert( side == 0 || side == 1);
134 return fNofStrips[side];
135 }
136
137
144 virtual Int_t GetStripNumber(Double_t x, Double_t y, Int_t side) const;
145
146
156 virtual void PropagateCharge(Double_t x, Double_t y, Double_t z,
157 Double_t charge, Double_t bY,
158 Int_t side);
159
160
161 private:
162
165
166
168 CbmStsSensorDssdOrtho& operator = (const CbmStsSensorDssdOrtho& rhs);
169
170
171
172 ClassDef(CbmStsSensorDssdOrtho,1);
173
174};
175
176
177#endif
Class representing an element of the STS setup.
Detector response for DSSD sensors with orthogonal strips.
virtual Int_t GetNofStrips(Int_t side) const
Number of strips on front or back side.
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.
Bool_t SetParameters(Int_t nStripsF, Double_t pitchF, Int_t nStripsB, Double_t pitchB)
Set the internal sensor parameters.
virtual void ModifyStripPitch(Double_t pitch)
Modify the strip pitch.
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 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)
virtual Double_t GetPitch(Int_t side) const
Strip pitch for front and back side.
Int_t fNofStrips[2]
Number of strips on front/back side.