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