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
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