10#ifndef CBMSTSALGOFINDHITS_H
11#define CBMSTSALGOFINDHITS_H 1
74 Long64_t
Exec(
const std::vector<CbmStsCluster>& clustersF,
const std::vector<CbmStsCluster>& clustersB,
75 std::vector<CbmStsHit>&
hits, UInt_t address, Double_t timeCutSig, Double_t timeCutAbs, Double_t dY,
76 UInt_t nStrips, Double_t pitch, Double_t stereoF, Double_t stereoB, Double_t lorentzF,
77 Double_t lorentzB, TGeoHMatrix* matrix);
94 void CreateHit(Double_t xLocal, Double_t yLocal, Double_t varX, Double_t varY, Double_t varXY,
96 Double_t du = 0., Double_t dv = 0.);
125 std::pair<Int_t, Int_t>
GetStrip(UInt_t channel)
const;
147 Bool_t
Intersect(Double_t xF, Double_t exF, Double_t xB, Double_t exB, Double_t&
x, Double_t&
y, Double_t& varX,
148 Double_t& varY, Double_t& varXY);
193 std::vector<CbmStsHit>*
fHits =
nullptr;
static vector< vector< QAHit > > hits
Algorithm for hit finding in the sensors of the CBM-STS.
Double_t fDy
Active size in y [cm].
Int_t GetSide(Double_t channel) const
Bool_t Intersect(Double_t xF, Double_t exF, Double_t xB, Double_t exB, Double_t &x, Double_t &y, Double_t &varX, Double_t &varY, Double_t &varXY)
Intersection point of two strips / cluster centres.
ClassDef(CbmStsAlgoFindHits, 1)
Double_t fTimeCutSig
Time cut on clusters in error units.
Double_t fTimeCutAbs
Time cut on clusters in ns.
std::pair< Int_t, Int_t > GetStrip(UInt_t channel) const
Get strip and side from module channel.
Double_t fLorentzF
Lorentz shift correction front side [cm].
Double_t fPitch
Strip pitch [cm].
Double_t fStereoF
Stereo angle front side [deg].
CbmStsAlgoFindHits()
Constructor.
UInt_t fAddress
Unique address for hits (sensor)
Double_t fTanStereoB
Tangent of stereo angle back side.
Double_t fErrorFac
For calculation of the hit error.
Double_t fTanStereoF
///< Transformation matrix to global C.S.
void CreateHit(Double_t xLocal, Double_t yLocal, Double_t varX, Double_t varY, Double_t varXY, const CbmStsCluster &clusterF, const CbmStsCluster &clusterB, UInt_t indexF, UInt_t indexB, Double_t du=0., Double_t dv=0.)
Create a new hit in the output array.
Double_t fStereoB
Stereo angle back side [deg].
void GetClusterPosition(Double_t ClusterCentre, Double_t &xCluster, Int_t &side)
Int_t IntersectClusters(const CbmStsCluster &clusterF, const CbmStsCluster &clusterB, UInt_t indexF, UInt_t indexB)
Find the intersection points of two clusters.
CbmStsAlgoFindHits & operator=(const CbmStsAlgoFindHits &)=delete
Assignment operator (disabled)
UInt_t fNofStrips
Number of strips.
Double_t fDx
Active size in x [cm].
Bool_t IsInside(Double_t x, Double_t y)
Check whether a point (x,y) is inside the active area.
virtual ~CbmStsAlgoFindHits()
Destructor
std::vector< CbmStsHit > * fHits
Output vector of hits.
CbmStsAlgoFindHits(const CbmStsAlgoFindHits &)=delete
Copy constructor (disabled)
Double_t fLorentzB
Lorentz shift correction back side [cm].
Long64_t Exec(const std::vector< CbmStsCluster > &clustersF, const std::vector< CbmStsCluster > &clustersB, std::vector< CbmStsHit > &hits, UInt_t address, Double_t timeCutSig, Double_t timeCutAbs, Double_t dY, UInt_t nStrips, Double_t pitch, Double_t stereoF, Double_t stereoB, Double_t lorentzF, Double_t lorentzB, TGeoHMatrix *matrix)
Execute algorithm.
Data class for STS clusters.
data class for a reconstructed 3-d hit in the STS
Constructional parameters of a STS sensor.