EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICPIDParticleContainer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICPIDParticleContainer.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef EICPID_EICPIDParticleCONTAINER_H
4 #define EICPID_EICPIDParticleCONTAINER_H
5 
6 #include <phool/PHObject.h>
7 
8 #include <iostream>
9 #include <map>
10 #include <set>
11 #include <string>
12 #include <utility>
13 
14 #include "EICPIDDefs.h"
15 
16 class EICPIDParticle;
17 
19 {
20  public:
21  typedef std::map<EICPIDDefs::keytype, EICPIDParticle*> Map;
22  typedef Map::iterator Iterator;
23  typedef Map::const_iterator ConstIterator;
24  typedef std::pair<Iterator, Iterator> Range;
25  typedef std::pair<ConstIterator, ConstIterator> ConstRange;
26  typedef std::set<unsigned int>::const_iterator LayerIter;
27 
29 
31 
32  void Reset() override;
33 
34  void identify(std::ostream& os = std::cout) const override;
35 
37 
39 
41 
43  ConstRange getPIDParticles(void) const;
44 
45  unsigned int size(void) const
46  {
47  return m_particleMap.size();
48  }
49 
50  protected:
52 
53  ClassDefOverride(EICPIDParticleContainer, 1)
54 };
55 
56 #endif