EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DecayFinderContainer_v1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DecayFinderContainer_v1.h
1 #ifndef DECAYFINDER_DECAYFINDERCONTAINERV1_H
2 #define DECAYFINDER_DECAYFINDERCONTAINERV1_H
3 
5 
6 #include <cstddef> // for size_t
7 #include <iostream> // for cout, ostream
8 
15 class PHObject;
16 
18 {
19  public:
21  DecayFinderContainer_v1(const DecayFinderContainer_v1& decayfindermap);
23  ~DecayFinderContainer_v1() override;
24 
25  void identify(std::ostream& os = std::cout) const override;
26  void Reset() override;
27  int isValid() const override { return 1; }
28  PHObject* CloneMe() const override { return new DecayFinderContainerBase(*this); }
29 
30  bool empty() const override { return m_decaymap.empty(); }
31  size_t size() const override { return m_decaymap.size(); }
32  size_t count(unsigned int key) const override { return m_decaymap.count(key); }
33  void clear() override { Reset(); }
34 
35  const Decay get(unsigned int key) const override;
36  Decay get(unsigned int key) override;
37 
38  ConstIter begin() const override { return m_decaymap.begin(); }
39  ConstIter find(unsigned int key) const override { return m_decaymap.find(key); }
40  ConstIter end() const override { return m_decaymap.end(); }
41 
42  Iter begin() override { return m_decaymap.begin(); }
43  Iter find(unsigned int key) override { return m_decaymap.find(key); }
44  Iter end() override { return m_decaymap.end(); }
45 
46  Decay insert(const Decay decay) override;
47 
48  //Use the PDG MC ID to return a subset of the DecayFinder container, if those particle exist in the container
49  Map returnDecaysByPDGid(int PDGid) override;
50 
51  size_t erase(unsigned int key) override;
52 
53  private:
55 
57 };
58 
59 #endif //DECAYFINDER_DECAYFINDERCONTAINERV1_H