Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:21

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef PROTOTYPE4_EVENTINFOSUMMARY_H
0004 #define PROTOTYPE4_EVENTINFOSUMMARY_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <map>
0009 #include <string>
0010 
0011 class PHCompositeNode;
0012 
0013 class EventInfoSummary : public SubsysReco
0014 {
0015  public:
0016   EventInfoSummary();
0017 
0018   int InitRun(PHCompositeNode *topNode);
0019 
0020   int process_event(PHCompositeNode *topNode);
0021 
0022   void CreateNodeTree(PHCompositeNode *topNode);
0023 
0024   //! add stuff to be unpacked
0025   void
0026   add_channel(const std::string &name,    //! name of the channel
0027               const int packet_id,        //! packet id
0028               const unsigned int offset,  //! offset in packet data
0029               const double calibration_const =
0030                   +1  //! conversion constant from integer to meaningful value
0031   );
0032 
0033  private:
0034   class channel_info
0035   {
0036    public:
0037     channel_info(int p, unsigned int o, double c)
0038       : packet_id(p)
0039       , offset(o)
0040       , calibration_const(c)
0041     {
0042     }
0043 
0044     int packet_id;
0045     unsigned offset;
0046     double calibration_const;
0047   };
0048 
0049   //! list of channel name -> channel info
0050   typedef std::map<std::string, channel_info> typ_channel_map;
0051 
0052   typ_channel_map channel_map;
0053 
0054   std::string eventinfo_node_name;
0055 };
0056 
0057 #endif