7#ifndef BMNSSDSENSORDSSD_H
8#define BMNSSDSENSORDSSD_H 1
76 virtual Int_t
FindHits(std::vector<BmnSsdCluster*>& clusters,
77 TClonesArray* hitArray,
BmnEvent* event,
92 virtual Double_t
GetPitch(Int_t side)
const = 0;
155 Double_t& xCluster, Int_t& side);
168 Int_t sensorId)
const = 0;
189 virtual std::pair<Int_t, Int_t>
GetStrip(Int_t channel,
190 Int_t sensorId)
const = 0;
213 Bool_t
IsInside(Double_t x, Double_t y);
229 Double_t
LorentzShift(Double_t z, Int_t chargeType,Double_t bY)
const;
251 Double_t charge, Double_t bY,
265 Double_t charge, Double_t time)
const;
Class characterising one event by a collection of links (indices) to data objects,...
Data class for SSD clusters.
Class representing an element of the SSD setup.
Auxiliary class for simulating physics processes in Silicon.
Class describing double-sided silicon strip sensors.
virtual Int_t FindHits(std::vector< BmnSsdCluster * > &clusters, TClonesArray *hitArray, BmnEvent *event, Double_t dTime)
Find hits from clusters.
Double_t fDz
Thickness in z [cm].
virtual Int_t GetNofStrips(Int_t side) const =0
Number of strips on front and back side.
void RegisterCharge(Int_t side, Int_t strip, Double_t charge, Double_t time) const
Register the produced charge in one strip to the module.
virtual Int_t IntersectClusters(BmnSsdCluster *clusterF, BmnSsdCluster *clusterB)=0
virtual Double_t GetPitch(Int_t side) const =0
Strip pitch on front and back side.
void PrintChargeStatus() const
Bool_t fIsSet
Flag whether sensor is properly initialised.
Double_t fDx
Dimension of active area in x [cm].
Double_t fDy
Dimension of active area in y [cm].
virtual void PropagateCharge(Double_t x, Double_t y, Double_t z, Double_t charge, Double_t bY, Int_t side)=0
Int_t GetSide(Double_t channel) const
virtual std::string ToString() const =0
virtual Int_t GetModuleChannel(Int_t strip, Int_t side, Int_t sensorId) const =0
Get the readout channel in the module for a given strip.
virtual void ModifyStripPitch(Double_t pitch)=0
Modify the strip pitch.
Double_t LorentzShift(Double_t z, Int_t chargeType, Double_t bY) const
Lorentz shift in the x coordinate.
void GetClusterPosition(Double_t ClusterCentre, Double_t &xCluster, Int_t &side)
virtual Int_t CalculateResponse(BmnSsdSensorPoint *point)
Analogue response to a track in the sensor.
void ProduceCharge(BmnSsdSensorPoint *point)
Generate charge as response to a sensor point.
virtual std::pair< Int_t, Int_t > GetStrip(Int_t channel, Int_t sensorId) const =0
virtual ~BmnSsdSensorDssd()
void CrossTalk(Double_t ctcoeff)
Bool_t IsInside(Double_t x, Double_t y)
Container class for a local point in a SSD sensor.
Class representing an instance of a sensor in the BMN-SSD.