BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmStsDigi.h
Go to the documentation of this file.
1
/** CbmStsDigi.h
2
**@author V.Friese <v.friese@gsi.de>
3
**@since 28.08.2006
4
**@version 2.0
5
**
6
** Data class for digital STS information
7
** Data level: RAW
8
**
9
** The information is encoded into 8 bytes (1 Long64_t).
10
** Address: 25 bits
11
** - Station Nr. 4 bits
12
** - Sector Nr. 8 bits //AZ
13
** - Side (front/back) 1 bit
14
** - Channel Nr. 12 bits //AZ
15
** Charge (ADC): 12 bits
16
** Time (ns): 14 bits
17
**
18
** The time is relative to the event time.
19
**/
20
21
#ifndef CBMSTSDIGI_H
22
#define CBMSTSDIGI_H 1
23
24
#include "
CbmStsDetectorId.h
"
25
#include "FairMultiLinkedData.h"
26
27
#include <vector>
28
29
class
CbmStsDigi
30
:
public
FairMultiLinkedData
31
,
public
CbmStsDetectorId
32
{
33
34
public
:
35
/** Default constructor **/
36
CbmStsDigi
();
37
38
/** Constructor from station number, sector number,
39
** front/back side and channel number
40
**@param station station number (1 - 15)
41
**@param sector sector number (1 - 255)
42
**@param side 0=front side; 1=back side
43
**@param channel channel number (1 - 4095)
44
**@param adc Charge ADC channel (0 - 4095)
45
**@param time Time within event [ns]
46
**/
47
// CbmStsDigi(std::vector<Int_t> index, Int_t station, Int_t sector, Int_t side,
48
// Int_t channel, Int_t adc, Int_t time);
49
CbmStsDigi
(
Int_t
station,
Int_t
sector,
Int_t
side,
Int_t
channel,
Int_t
adc,
Int_t
time);
50
51
/** Destructor **/
52
virtual
~CbmStsDigi
();
53
54
/** Add charge **/
55
void
AddAdc
(
Int_t
adc);
56
// void AddIndex(int index, int adc){
57
// AddLink(FairLink(kStsPoint, index, adc));
58
// }
59
// void AddIndex(std::vector<Int_t> index){
60
// SetLinks(FairMultiLinkedData(kStsPoint, index));
61
// }
62
63
/** Maximal number of ADC bits **/
64
static
Int_t
GetNofAdcBits
() {
return
fgkCharBits
; }
65
66
/** Station number **/
67
Int_t
GetStationNr
()
const
{
return
StationNr
(
GetDetectorId
()); }
68
69
/** Sector number **/
70
Int_t
GetSectorNr
()
const
{
return
SectorNr
(
GetDetectorId
()); }
71
72
/** Side ( 0 = front, 1 = back ) **/
73
Int_t
GetSide
()
const
{
return
Side
(
GetDetectorId
()); }
74
75
/** Channel number **/
76
Int_t
GetChannelNr
()
const
{
return
ChannelNr
(
GetDetectorId
()); }
77
78
/** Charge **/
79
Int_t
GetAdc
()
const
{
return
((
fData
>>
fgkCharShift
) &
fgkCharMask
); }
80
81
/** Maximum ADC **/
82
static
Int_t
GetMaxAdc
() {
return
((1 <<
fgkCharBits
) - 1); }
83
84
/** Time **/
85
Int_t
GetTime
()
const
{
return
((
fData
>>
fgkTimeShift
) &
fgkTimeMask
); }
86
87
/** Unique detector ID **/
88
Int_t
GetDetectorId
()
const
{
return
(
kGEM
| ((
fData
&
fgkAddrMask
) << 4)); }
89
90
private
:
91
/** Data members **/
92
Long64_t
fData
;
93
94
/** Modifiers **/
95
void
SetAdc
(
Int_t
charge);
96
97
/** Static members for bit operations **/
98
static
const
Int_t
fgkAddrBits
;
99
static
const
Int_t
fgkCharBits
;
100
static
const
Int_t
fgkTimeBits
;
101
static
const
Int_t
fgkCharShift
;
102
static
const
Int_t
fgkTimeShift
;
103
static
const
Long64_t
fgkAddrMask
;
104
static
const
Long64_t
fgkCharMask
;
105
static
const
Long64_t
fgkTimeMask
;
106
107
ClassDef
(
CbmStsDigi
, 2);
108
};
109
110
#endif
Int_t
int Int_t
Long64_t
long long Long64_t
ClassDef
#define ClassDef(name, id)
kGEM
@ kGEM
Definition
BmnDetectorList.h:15
CbmStsDetectorId
CbmStsDetectorId.h.
Definition
CbmStsDetectorId.h:28
CbmStsDetectorId::StationNr
Int_t StationNr(Int_t detectorId) const
Get station number from detectorId.
Definition
CbmStsDetectorId.h:55
CbmStsDetectorId::ChannelNr
Int_t ChannelNr(Int_t detectorId) const
Get channel number from detectorId.
Definition
CbmStsDetectorId.h:64
CbmStsDetectorId::Side
Int_t Side(Int_t detectorId) const
Get side from detectorId.
Definition
CbmStsDetectorId.h:61
CbmStsDetectorId::SectorNr
Int_t SectorNr(Int_t detectorId) const
Get sector number from detectorId.
Definition
CbmStsDetectorId.h:58
CbmStsDigi
CbmStsDigi.h.
Definition
CbmStsDigi.h:32
CbmStsDigi::GetTime
Int_t GetTime() const
Time.
Definition
CbmStsDigi.h:85
CbmStsDigi::fgkTimeMask
static const Long64_t fgkTimeMask
Definition
CbmStsDigi.h:105
CbmStsDigi::fgkTimeBits
static const Int_t fgkTimeBits
Definition
CbmStsDigi.h:100
CbmStsDigi::GetSide
Int_t GetSide() const
Side ( 0 = front, 1 = back ).
Definition
CbmStsDigi.h:73
CbmStsDigi::GetAdc
Int_t GetAdc() const
Charge.
Definition
CbmStsDigi.h:79
CbmStsDigi::fgkCharShift
static const Int_t fgkCharShift
Definition
CbmStsDigi.h:101
CbmStsDigi::fgkTimeShift
static const Int_t fgkTimeShift
Definition
CbmStsDigi.h:102
CbmStsDigi::fData
Long64_t fData
Data members.
Definition
CbmStsDigi.h:92
CbmStsDigi::AddAdc
void AddAdc(Int_t adc)
Add charge.
CbmStsDigi::GetNofAdcBits
static Int_t GetNofAdcBits()
Maximal number of ADC bits.
Definition
CbmStsDigi.h:64
CbmStsDigi::CbmStsDigi
CbmStsDigi()
Default constructor.
CbmStsDigi::GetMaxAdc
static Int_t GetMaxAdc()
Maximum ADC.
Definition
CbmStsDigi.h:82
CbmStsDigi::GetSectorNr
Int_t GetSectorNr() const
Sector number.
Definition
CbmStsDigi.h:70
CbmStsDigi::GetDetectorId
Int_t GetDetectorId() const
Unique detector ID.
Definition
CbmStsDigi.h:88
CbmStsDigi::fgkAddrMask
static const Long64_t fgkAddrMask
Definition
CbmStsDigi.h:103
CbmStsDigi::fgkCharBits
static const Int_t fgkCharBits
CbmStsDigi.cxx.
Definition
CbmStsDigi.h:99
CbmStsDigi::GetChannelNr
Int_t GetChannelNr() const
Channel number.
Definition
CbmStsDigi.h:76
CbmStsDigi::SetAdc
void SetAdc(Int_t charge)
Modifiers.
CbmStsDigi::fgkCharMask
static const Long64_t fgkCharMask
Definition
CbmStsDigi.h:104
CbmStsDigi::~CbmStsDigi
virtual ~CbmStsDigi()
Destructor.
CbmStsDigi::fgkAddrBits
static const Int_t fgkAddrBits
Static members for bit operations.
Definition
CbmStsDigi.h:98
CbmStsDigi::GetStationNr
Int_t GetStationNr() const
Station number.
Definition
CbmStsDigi.h:67
CbmStsDigi::CbmStsDigi
CbmStsDigi(Int_t station, Int_t sector, Int_t side, Int_t channel, Int_t adc, Int_t time)
Constructor from station number, sector number, front/back side and channel number.
FairMultiLinkedData
CbmStsDetectorId.h
install
include
CbmStsDigi.h
Generated on
for BmnRoot by
1.17.0