Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef FUN4ALLRAW_FUN4ALLEVENTOUTPUTMANAGER_H
0004 #define FUN4ALLRAW_FUN4ALLEVENTOUTPUTMANAGER_H
0005 
0006 #include <fun4all/Fun4AllOutputManager.h>
0007 
0008 #include <string>
0009 
0010 class Fun4AllEventOutStream;
0011 class PHCompositeNode;
0012 
0013 class Fun4AllEventOutputManager : public Fun4AllOutputManager
0014 {
0015  public:
0016   Fun4AllEventOutputManager(const std::string &myname = "EVENTOUT", const std::string &filename = "eventout.prdf", const unsigned int nEvents = 0, const unsigned int sizeInMB = 0, const int offset = 0, const int increment = 1);
0017   virtual ~Fun4AllEventOutputManager();
0018 
0019   int outfileopen(const std::string & /*fname*/) override { return 0; }
0020 
0021   void Print(const std::string &what = "ALL") const override;
0022 
0023   int Write(PHCompositeNode *startNode) override;
0024 
0025   int AddPacket(const int ipkt);
0026   int DropPacket(const int ipkt);
0027   int AddPacketRange(const int ipktmin, const int ipktmax);
0028   int DropPacketRange(const int ipktmin, const int ipktmax);
0029   void SetOutfileName(const std::string &fname);
0030   void Verbosity(const uint64_t i) override;
0031 
0032  protected:
0033   std::string m_OutFileRule;
0034   Fun4AllEventOutStream *m_OutStream{nullptr};
0035 };
0036 
0037 #endif /* FUN4ALL_FUN4ALLEVENTOUTPUTMANAGER_H */