// ------------------------------------------------------------------------- // ----- CbmStsHit header file ----- // ----- Created 30/08/06 by V. Friese ----- // ------------------------------------------------------------------------- /** CbmStsHit *@author Volker Friese *@since 30.08.06 *@version 1.1 ** ** Data class for a reconstructed hit in the STS ** Data level RECO ** Derived from CbmTrkHit. ** Additional members: Channel numbers and covariance in x and y ** In case of pixel sensor backside channel is -1 **/ #ifndef CBMSTSSHIT_H #define CBMSTSSHIT_H 1 #include "CbmTrkHit.h" #include "TVector3.h" class CbmStsHit : public CbmTrkHit { public: /** Default constructor (not for use) **/ CbmStsHit(); /** Standard constructor *@param detId Unique detector ID *@param pos Position in global c.s. [cm] *@param dPos Errors of position in global c.s. [cm] *@param covXY Covariance of x and y [cm*2] *@param iDigiF Digi index front side *@param iDigiB Digi index back side **/ CbmStsHit(Int_t detId, TVector3& pos, TVector3& dPos, Double_t covXY, Int_t iDigiF, Int_t iDigiB); CbmStsHit(Int_t detId, TVector3& pos, TVector3& dPos, Double_t covXY, Int_t iDigiF, Int_t iDigiB, Int_t iPosSX, Int_t iPosSY); CbmStsHit(Int_t detId, TVector3& pos, TVector3& dPos, Double_t dxy, Int_t iDigiF, Int_t iDigiB, Double_t dSignalDiv); /** Destructor **/ virtual ~CbmStsHit(); /** Accessors **/ Int_t GetSystemId() const { return ( fDetectorID & (15<<24) ) >> 24; } virtual Int_t GetStationNr() const { return ( fDetectorID & (255<<16) ) >> 16; } Int_t GetSectorNr() const { // sector number within station return ( fDetectorID & (32767<<1) ) >> 1; } Int_t GetDigi(Int_t iSide) const; // front side = 0; back side = 1 Double_t GetSignalDiv() const { return fSignalDiv; } Int_t GetPosSensorX() const { return fPosSX;} Int_t GetPosSensorY() const { return fPosSY;} /** Screen output **/ virtual void Print(Option_t* opt) const; private: Int_t fDigiF; // Channel number front side Int_t fDigiB; // Channel number back side Int_t fPosSX; // discretized X position in sensor Int_t fPosSY; // discretized Y position in sensor Double_t fSignalDiv; // ADC front/ADC back, theoretically if 1 then hit is valid ClassDef(CbmStsHit,1); }; #endif