Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SingleGl1PoolInput.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SingleGl1PoolInput.h
1 #ifndef FUN4ALLRAW_SINGLEGL1POOLINPUT_H
2 #define FUN4ALLRAW_SINGLEGL1POOLINPUT_H
3 
4 #include "SingleStreamingInput.h"
5 
6 #include <cstdint>
7 #include <list>
8 #include <map>
9 #include <set>
10 #include <string>
11 #include <vector>
12 
13 class Gl1RawHit;
14 class PHCompositeNode;
15 
17 {
18  public:
19  explicit SingleGl1PoolInput(const std::string &name);
20  ~SingleGl1PoolInput() override;
21  void FillPool(const unsigned int) override;
22  void CleanupUsedPackets(const uint64_t bclk) override;
23  bool CheckPoolDepth(const uint64_t bclk) override;
24  void ClearCurrentEvent() override;
25  bool GetSomeMoreEvents();
26  void Print(const std::string &what = "ALL") const override;
27  void CreateDSTNode(PHCompositeNode *topNode) override;
28  void SetBcoRange(const unsigned int i) { m_BcoRange = i; }
29  // void ConfigureStreamingInputManager() override;
30 
31  private:
32  unsigned int m_NumSpecialEvents{0};
33  unsigned int m_BcoRange{0};
34 
36  std::map<unsigned int, uint64_t> m_packet_bco;
37 
38  std::set<uint64_t> m_BeamClockFEE;
39  std::map<uint64_t, std::vector<Gl1RawHit *>> m_Gl1RawHitMap;
40  std::set<uint64_t> m_FEEBclkMap;
41  std::set<uint64_t> m_BclkStack;
42 };
43 
44 #endif