BmnRoot 26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsHit.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsHit header file -----
3// ----- Created 30/08/06 by V. Friese -----
4// -------------------------------------------------------------------------
5
6/** CbmStsHit
7 *@author Volker Friese <v.friese@gsi.de>
8 *@since 30.08.06
9 *@version 1.1
10 **
11 ** Data class for a reconstructed hit in the STS
12 ** Data level RECO
13 ** Derived from CbmHit.
14 ** Additional members: Channel numbers and covariance in x and y
15 ** In case of pixel sensor backside channel is -1
16 **/
17
18#ifndef CBMSTSSHIT_H
19#define CBMSTSSHIT_H 1
20
21#include "BmnDetectorList.h"
22#include "CbmHit.h"
23
24class TVector3;
25
26class CbmStsHit : public CbmHit
27{
28
29 public:
30 /** Default constructor (not for use) **/
31 CbmStsHit();
32
33 /** Standard constructor
34 *@param detId Unique detector ID
35 *@param pos Position in global c.s. [cm]
36 *@param dPos Errors of position in global c.s. [cm]
37 *@param covXY Covariance of x and y [cm*2]
38 *@param iDigiF Digi index front side
39 *@param iDigiB Digi index back side
40 **/
41 CbmStsHit(Int_t detId, TVector3& pos, TVector3& dPos, Double_t covXY, Int_t iDigiF, Int_t iDigiB);
42
43 CbmStsHit(Int_t detId,
44 TVector3& pos,
45 TVector3& dPos,
46 Double_t covXY,
47 Int_t iDigiF,
48 Int_t iDigiB,
49 Int_t iPosSX,
50 Int_t iPosSY,
51 Int_t iLayer);
52
53 CbmStsHit(Int_t detId,
54 TVector3& pos,
55 TVector3& dPos,
56 Double_t dxy,
57 Int_t iDigiF,
58 Int_t iDigiB,
59 Double_t dSignalDiv);
60
61 /** Destructor **/
62 virtual ~CbmStsHit();
63
64 /** Accessors **/
65
66 Int_t GetSystemId() const { return (fDetectorID & (15 << 24)) >> 24; }
67 virtual Int_t GetStationNr() const { return (fDetectorID & (255 << 16)) >> 16; }
69 { // sector number within station
70 return (fDetectorID & (4095 << 4)) >> 4;
71 }
73 { // sensor number within sector
74 return (fDetectorID & (7 << 1)) >> 1;
75 }
76 Int_t GetDigi(Int_t iSide) const; // front side = 0; back side = 1
77
78 Double_t GetSignalDiv() const { return fSignalDiv; }
79
80 Int_t GetPosSensorX() const { return fPosSX; }
81 Int_t GetPosSensorY() const { return fPosSY; }
82 Double_t GetStrip(int side) const { return fStrips[side]; } // AZ-140223
83
84 void SetStatLayer(Int_t it) { fStatLayer = it; }
85 Int_t GetStatLayer() const { return fStatLayer; }
86 // AZ void AddIndex(int index){ AddLink(FairLink(kStsCluster, index)); }
87 // void AddIndex(int index) { SetInsertHistory(kFALSE); AddLink(FairLink(kStsCluster, index)); } //AZ
88 // void AddIndex(int index) { SetInsertHistory(kFALSE); if (GetPointerToLinks() == NULL) AddLink(FairLink());
89 // SetInsertHistory(kFALSE); AddLink(FairLink(kStsCluster, index)); } //AZ
90 void AddIndex(int index); // AZ
91 void SetSignalDiv(Double_t sigDiv) { fSignalDiv = sigDiv; } // AZ
93 {
94 fStrips[0] = s1;
95 fStrips[1] = s2;
96 } // AZ-140223
97
98 /** Screen output **/
99 virtual void Print(Option_t* opt) const;
100
101 Int_t fDigiF; // Channel number front side
103
104 private:
105 // Int_t fDigiF; // Channel number front side
106 // Int_t fDigiB; // Channel number back side
107
108 Int_t fPosSX; // discretized X position in sensor
109 Int_t fPosSY; // discretized Y position in sensor
110
112
113 Double_t fSignalDiv; // ADC front/ADC back, theoretically if 1 then hit is valid
114 Double32_t fStrips[2]; // AZ-140223 - strip numbers (COGs of two views)
115
117};
118
119#endif
Defines unique identifiers (enum) for all BM@N detector systems.
int Int_t
double Double32_t
double Double_t
const char Option_t
#define ClassDef(name, id)
CbmHit()
Default constructor.
Definition CbmHit.cxx:12
void SetStrips(Double_t s1, Double_t s2)
Definition CbmStsHit.h:92
Int_t GetSensorNr() const
Definition CbmStsHit.h:72
Double32_t fStrips[2]
Definition CbmStsHit.h:114
Int_t fStatLayer
Definition CbmStsHit.h:111
Int_t fPosSY
Definition CbmStsHit.h:109
virtual Int_t GetStationNr() const
Definition CbmStsHit.h:67
CbmStsHit()
Default constructor (not for use).
Definition CbmStsHit.cxx:14
void SetSignalDiv(Double_t sigDiv)
Definition CbmStsHit.h:91
virtual void Print(Option_t *opt) const
Screen output.
Int_t fDigiB
Definition CbmStsHit.h:102
Double_t GetSignalDiv() const
Definition CbmStsHit.h:78
Int_t GetStatLayer() const
Definition CbmStsHit.h:85
Double_t GetStrip(int side) const
Definition CbmStsHit.h:82
void SetStatLayer(Int_t it)
Definition CbmStsHit.h:84
Int_t fPosSX
Definition CbmStsHit.h:108
Int_t GetPosSensorY() const
Definition CbmStsHit.h:81
void AddIndex(int index)
Int_t GetSectorNr() const
Definition CbmStsHit.h:68
Int_t GetSystemId() const
Accessors.
Definition CbmStsHit.h:66
Double_t fSignalDiv
Definition CbmStsHit.h:113
Int_t GetDigi(Int_t iSide) const
virtual ~CbmStsHit()
Destructor.
Int_t fDigiF
Definition CbmStsHit.h:101
Int_t GetPosSensorX() const
Definition CbmStsHit.h:80