Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DecayFinderContainerBase.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DecayFinderContainerBase.h
1 #ifndef DECAYFINDER_DECAYFINDERCONTAINERBASE_H
2 #define DECAYFINDER_DECAYFINDERCONTAINERBASE_H
3 
4 #include <phool/PHObject.h>
5 
6 #include <cstddef> // for size_t
7 #include <iostream> // for cout, ostream
8 #include <map>
9 #include <utility> // for pair
10 #include <vector>
11 
19 {
20  public:
21  // Each decay is stored as an initial pair of embedding ID and barcode.
22  // This pair matches with another int, the PDGID
23  using Decay = std::vector<std::pair<std::pair<int, int>, int>>;
24  using Map = std::map<unsigned int, Decay>;
25  using ConstIter = Map::const_iterator;
26  using Iter = Map::iterator;
27 
28  ~DecayFinderContainerBase() override = default;
29 
30  void identify(std::ostream& os = std::cout) const override
31  {
32  os << "DecayFinderContainer base class" << std::endl;
33  }
34  void Reset() override;
35  int isValid() const override { return 0; }
36  PHObject* CloneMe() const override { return nullptr; }
37 
38  virtual bool empty() const { return true; }
39  virtual size_t size() const { return 0; }
40  virtual size_t count(unsigned int /*unused*/) const { return 0; }
41  virtual void clear();
42 
43  virtual const Decay get(unsigned int) const;
44  virtual Decay get(unsigned int);
45 
46  virtual ConstIter begin() const;
47  virtual ConstIter find(unsigned int) const;
48  virtual ConstIter end() const;
49 
50  virtual Iter begin();
51  virtual Iter find(unsigned int);
52  virtual Iter end();
53 
54  virtual Decay insert(const Decay&);
55 
56  virtual Map returnDecaysByPDGid(int);
57 
58  virtual size_t erase(unsigned int key);
59 
60  protected:
61  DecayFinderContainerBase() = default;
62 
63  private:
65 };
66 
67 #endif // DECAYFINDER_DECAYFINDERCONTAINERBASE_H