Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrTruthTrackContainer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrTruthTrackContainer.h
1 #ifndef G4TRACKING_TRKRTRUTHTRACKCONTAINER_H
2 #define G4TRACKING_TRKRTRUTHTRACKCONTAINER_H
3 
4 
5 #include <trackbase/TrkrDefs.h>
6 #include <phool/PHObject.h>
7 #include <map>
8 #include <vector>
9 
11 class TrkrTruthTrack;
12 
14 {
15  public:
16  //using Vector = std::vector<TrkrTruthTrack*>;
17  using Map = std::map<unsigned int, TrkrTruthTrack*>;
18  using Iterator = Map::iterator; //Vector::iterator;
19  using ConstIterator = Map::const_iterator;
20  using Range = std::pair<Iterator, Iterator>;
21  using ConstRange = std::pair<ConstIterator, ConstIterator>;
22 
24  void Reset() override {}
25 
27  virtual void addTruthTrack (TrkrTruthTrack*) { };
28  virtual TrkrTruthTrack* getTruthTrack (unsigned int /*trackid*/) { return nullptr; };
29  virtual TrkrTruthTrack* getTruthTrack (unsigned int /*trackid*/, PHG4TruthInfoContainer*)
30  { return nullptr; };
31  virtual ConstRange getTruthTrackRange () const;
32  virtual bool hasTrackid (unsigned int /*trackid*/) const { return false; };
33  virtual Map& getMap();
34  int nhw() { return 6; };
35  int nhw_cc();
36  virtual int nhw_virt () { return 60; };
37 
38  // PHObject virtual overload
39  void identify(std::ostream& os = std::cout) const override
40  {
41  os << "TrkrTruthTrackContainer base class" << std::endl;
42  };
43 
44  protected:
45  TrkrTruthTrackContainer() = default;
46  ClassDefOverride(TrkrTruthTrackContainer, 1)
47 };
48 
49 #endif // G4TRACKING_TRUTHTRACKCONTAINER_H