Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:14:07

0001 #ifndef PIDINFOCONTAINER_H__
0002 #define PIDINFOCONTAINER_H__
0003 
0004 #include <phool/PHObject.h>
0005 #include <phool/phool.h>
0006 #include <iostream>
0007 #include <map>
0008 
0009 class PidInfo;
0010 
0011 class PidInfoContainer : public PHObject
0012 {
0013 
0014 public:
0015 
0016   typedef std::map<int, PidInfo *> Map;
0017   typedef Map::iterator Iterator;
0018   typedef Map::const_iterator ConstIterator;
0019   typedef std::pair<Iterator, Iterator> Range;
0020   typedef std::pair<ConstIterator, ConstIterator> ConstRange;
0021 
0022   PidInfoContainer() {}
0023   virtual ~PidInfoContainer() {}
0024 
0025   void Reset();
0026   int isValid() const;
0027   void identify(std::ostream& os=std::cout) const;
0028   ConstIterator AddPidInfo(PidInfo *pidinfo);
0029   PidInfo *getPidInfo(const int trackid);
0030   //! return all pid infos
0031   ConstRange getPidInfos( void ) const;
0032   Range getPidInfos( void );
0033 
0034   unsigned int size() const {return _pidinfos.size();}
0035 
0036 protected:
0037   Map _pidinfos;
0038 
0039   ClassDef(PidInfoContainer,1)
0040 };
0041 
0042 #endif /* PIDINFOCONTAINER_H__ */