Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrackPidAssoc.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrackPidAssoc.h
1 
7 #ifndef TRACKPID_TRACKPIDASSOC_H
8 #define TRACKPID_TRACKPIDASSOC_H
9 
10 #include <phool/PHObject.h>
11 
12 #include <iostream> // for cout, ostream
13 #include <map>
14 #include <utility> // for pair
15 
21 class TrackPidAssoc : public PHObject
22 {
23 public:
25  typedef std::multimap<unsigned int, unsigned int> MMap;
26  typedef MMap::iterator Iterator;
27  typedef MMap::const_iterator ConstIterator;
28  typedef std::pair<Iterator, Iterator> Range;
29  typedef std::pair<ConstIterator, ConstIterator> ConstRange;
31  TrackPidAssoc();
33  virtual ~TrackPidAssoc();
34 
35  void Reset();
36 
37  void identify(std::ostream &os = std::cout) const;
38 
44  void addAssoc(unsigned int pid, unsigned int trid);
45 
51  ConstRange getTracks(unsigned int pid);
52 
53  static const unsigned int electron = 1;
54  static const unsigned int hadron = 2;
55 
56 
57 private:
60 };
61 
62 #endif // TRACKPID_TRACKPIDASSOC_H