Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:13

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef FUN4ALLRAW_FUN4ALLPRDFOUTPUTMANAGER_H
0004 #define FUN4ALLRAW_FUN4ALLPRDFOUTPUTMANAGER_H
0005 
0006 #include <fun4all/Fun4AllOutputManager.h>
0007 
0008 #include <string>
0009 
0010 class PHRawOManager;
0011 class PHCompositeNode;
0012 
0013 class Fun4AllPrdfOutputManager : public Fun4AllOutputManager
0014 {
0015  public:
0016   //! constructor
0017   Fun4AllPrdfOutputManager(const std::string &myname = "PRDFOUT", const std::string &filename = "data_out.prdf");
0018 
0019   //! destructor
0020   virtual ~Fun4AllPrdfOutputManager();
0021 
0022   //! PRDF node initialization [class specific method]
0023   int InitPrdfNode(PHCompositeNode *top_node, const std::string &nodeName = "SIMPRDF");
0024 
0025   //! reinitialize raw output manager to write to new filename. Close old one if any
0026   int outfileopen(const std::string &fname);
0027 
0028   //! event write method (startNode argument is ignored. prdfNode is always used)
0029   int Write(PHCompositeNode *startNode);
0030 
0031  private:
0032   /*!
0033     initialize prdf output manager every time
0034     the output file name is changed including first event
0035   */
0036   int InitPrdfManager();
0037 
0038   //! prdf node
0039   PHCompositeNode *m_PrdfNode;
0040 
0041   //! output manager
0042   PHRawOManager *m_PrdfOutManager;
0043 };
0044 
0045 #endif