File indexing completed on 2025-08-06 08:17:20
0001
0002
0003 #ifndef FUN4ALLRAW_FUN4ALLTRIGGEREDINPUTMANAGER_H
0004 #define FUN4ALLRAW_FUN4ALLTRIGGEREDINPUTMANAGER_H
0005
0006 #include <fun4all/Fun4AllInputManager.h>
0007
0008 #include <Event/phenixTypes.h>
0009
0010 #include <map>
0011 #include <set>
0012 #include <string>
0013 #include <utility>
0014 #include <vector>
0015
0016 class Event;
0017 class SinglePrdfInput;
0018 class CaloPacket;
0019 class Gl1Packet;
0020 class LL1Packet;
0021 class PHCompositeNode;
0022 class SingleTriggeredInput;
0023 class SyncObject;
0024 class OfflinePacket;
0025
0026 class Fun4AllTriggeredInputManager : public Fun4AllInputManager
0027 {
0028 public:
0029 Fun4AllTriggeredInputManager(const std::string &name = "DUMMY", const std::string &prdfnodename = "PRDF", const std::string &topnodename = "TOP");
0030 ~Fun4AllTriggeredInputManager() override;
0031
0032 int fileopen(const std::string & ) override { return 0; }
0033
0034 int fileclose() override;
0035 int run(const int nevents = 0) override;
0036
0037 void Print(const std::string &what = "ALL") const override;
0038 int ResetEvent() override;
0039 int PushBackEvents(const int i) override;
0040 int GetSyncObject(SyncObject **mastersync) override;
0041 int SyncIt(const SyncObject *mastersync) override;
0042 int HasSyncObject() const override { return 1; }
0043 std::string GetString(const std::string &what) const override;
0044 void registerTriggeredInput(SingleTriggeredInput *prdfin);
0045 void registerGl1TriggeredInput(SingleTriggeredInput *prdfin);
0046 void EventNumber(const int i) { m_EventNumber = i; }
0047 int EventNumber() const { return m_EventNumber; }
0048
0049 private:
0050 int m_RunNumber{0};
0051 int m_EventNumber{0};
0052 std::set<int> m_Gl1DroppedEvent;
0053 SingleTriggeredInput *m_Gl1TriggeredInput{nullptr};
0054 std::vector<SingleTriggeredInput *> m_TriggeredInputVector;
0055 SyncObject *m_SyncObject{nullptr};
0056 PHCompositeNode *m_topNode{nullptr};
0057 };
0058
0059 #endif