Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SingleMvtxPoolInput.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file SingleMvtxPoolInput.h
1
#ifndef FUN4ALLRAW_SINGLEMVTXPOOLINPUT_H
2
#define FUN4ALLRAW_SINGLEMVTXPOOLINPUT_H
3
4
#include "
SingleStreamingInput.h
"
5
6
#include <algorithm>
7
#include <map>
8
#include <vector>
9
10
class
MvtxRawHit
;
11
class
Packet
;
12
13
typedef
struct
linkId
14
{
15
uint32_t
layer
= 0xFF;
16
uint32_t
stave
= 0xFF;
17
uint32_t
gbtid
= 0xFF;
18
}
LinkId_t
;
19
20
class
SingleMvtxPoolInput
:
public
SingleStreamingInput
21
{
22
public
:
23
explicit
SingleMvtxPoolInput
(
const
std::string
&
name
);
24
~SingleMvtxPoolInput
()
override
;
25
void
FillPool
(
const
unsigned
int
nevents
= 1)
override
;
26
void
CleanupUsedPackets
(
const
uint64_t bclk)
override
;
27
bool
CheckPoolDepth
(
const
uint64_t bclk)
override
;
28
void
ClearCurrentEvent
()
override
;
29
bool
GetSomeMoreEvents
();
30
void
Print
(
const
std::string
&what =
"ALL"
)
const override
;
31
void
CreateDSTNode
(
PHCompositeNode
*topNode)
override
;
32
void
SetBcoRange
(
const
unsigned
int
i
) {
m_BcoRange
=
i
; }
33
void
ConfigureStreamingInputManager
()
override
;
34
void
SetNegativeBco
(
const
unsigned
int
value
) {
m_NegativeBco
=
value
;}
35
36
std::set<int> &
getFeeIdSet
(
const
uint64_t &bco) {
return
m_BeamClockFEE
[bco]; };
37
38
protected
:
39
LinkId_t
DecodeFeeid
(
const
uint16_t &feeid)
40
{
41
LinkId_t
ret = {};
42
ret.
layer
= (feeid >> 12) & 0x7;
43
ret.
stave
= feeid & 0x1F;
44
ret.
gbtid
= (feeid >> 8) & 0x3;
45
return
ret;
46
}
47
48
private
:
49
Packet
**
plist
{
nullptr
};
50
unsigned
int
m_NumSpecialEvents
{0};
51
unsigned
int
m_BcoRange
{0};
52
unsigned
int
m_NegativeBco
{0};
53
54
std::map<uint64_t, std::set<int>>
m_BeamClockFEE
;
55
std::map<uint64_t, std::vector<MvtxRawHit *>>
m_MvtxRawHitMap
;
56
std::map<int, uint64_t>
m_FEEBclkMap
;
57
std::map<int, uint64_t>
m_FeeStrobeMap
;
58
std::set<uint64_t>
m_BclkStack
;
59
std::set<uint64_t>
gtmL1BcoSet
;
// GTM L1 BCO
60
};
61
62
#endif
coresoftware
blob
master
offline
framework
fun4allraw
SingleMvtxPoolInput.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:05
using
1.8.2 with
sPHENIX GitHub integration