Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:20

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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 & /* filenam */) override { return 0; }
0033   // cppcheck-suppress virtualCallInConstructor
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