11#define BMNSSDSENSOR_H 1
22class TGeoPhysicalNode;
57 BmnSsdSensor(UInt_t address = 0, TGeoPhysicalNode* node =
nullptr,
76 void CreateHit(Double_t xLocal, Double_t yLocal,
77 Double_t varX, Double_t varY, Double_t varXY,
79 Double_t du = 0., Double_t dv = 0.);
89 virtual Int_t
FindHits(std::vector<BmnSsdCluster*>& clusters,
90 TClonesArray* hitArray,
BmnEvent* event,
128 virtual Bool_t
Init() {
return kTRUE; }
145 Double_t eventTime = 0.,
BmnLink* link = NULL);
168 Double_t cCoupling, Double_t cInterstrip,
169 Double_t bX, Double_t bY, Double_t bZ) {
171 cCoupling, cInterstrip,
Data class for SSD clusters.
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.
TGeoPhysicalNode * fNode
Pointer to geometry.
Int_t fAddress
Unique element address.
Class representing an instance of a readout unit in the BMN-SSD.
Container for operating condition parameters of a sensor.
Container class for a local point in a SSD sensor.
Class representing an instance of a sensor in the BMN-SSD.
BmnSsdSensor(const BmnSsdSensor &)=delete
BmnLink * GetCurrentLink() const
virtual Bool_t Init()
Initialise the sensor, if needed.
void SetAddress(Int_t address)
Set sensor address.
virtual std::string ToString() const =0
void SetConditions(Double_t vFD, Double_t vBias, Double_t temperature, Double_t cCoupling, Double_t cInterstrip, Double_t bX, Double_t bY, Double_t bZ)
virtual Int_t FindHits(std::vector< BmnSsdCluster * > &clusters, TClonesArray *hitArray, BmnEvent *event, Double_t dTime)=0
TClonesArray * fHits
Output array for hits. Used in hit finding.
void CreateHit(Double_t xLocal, Double_t yLocal, Double_t varX, Double_t varY, Double_t varXY, BmnSsdCluster *clusterF, BmnSsdCluster *clusterB, Double_t du=0., Double_t dv=0.)
virtual Int_t CalculateResponse(BmnSsdSensorPoint *point)=0
///< Pointer to current event
const BmnSsdSensorConditions * GetConditions() const
void SetNode(TGeoPhysicalNode *node)
Set the physical node.
ClassDef(BmnSsdSensor, 2)
BmnLink * fCurrentLink
Link to currently processed MCPoint.
Int_t GetSensorId() const
BmnSsdModule * GetModule() const
static UInt_t GetAddressFromName(TString name)
Get the address from the sensor name (static)
TGeoPhysicalNode * GetNode() const
Int_t ProcessPoint(const BmnSsdPoint *point, Double_t eventTime=0., BmnLink *link=NULL)
BmnSsdSensorConditions * fConditions
Operating conditions.
BmnSsdSensor & operator=(const BmnSsdSensor &)=delete
UInt_t GetElementId(Int_t address, Int_t level)
Get the index of an element.