File indexing completed on 2026-07-16 08:13:59
0001 #ifndef TOWERINFOCONTAINERV5_H
0002 #define TOWERINFOCONTAINERV5_H
0003
0004 #include "TowerInfoContainer.h"
0005 #include "TowerInfov5.h"
0006
0007 #include <TClonesArray.h>
0008
0009 #include <cstddef>
0010 #include <iostream>
0011
0012 class PHObject;
0013
0014 class TowerInfoContainerv5 : public TowerInfoContainer
0015 {
0016 public:
0017 TowerInfoContainerv5(DETECTOR detec);
0018
0019
0020 TowerInfoContainerv5() = default;
0021 PHObject *CloneMe() const override { return new TowerInfoContainerv5(*this); }
0022 TowerInfoContainerv5(const TowerInfoContainerv5 &);
0023
0024 ~TowerInfoContainerv5() override;
0025
0026 void identify(std::ostream &os = std::cout) const override;
0027
0028 void Reset() override;
0029 TowerInfov5 *get_tower_at_channel(int pos) override;
0030 TowerInfov5 *get_tower_at_key(int pos) override;
0031
0032 size_t size() const override { return _clones->GetEntries(); }
0033 DETECTOR get_detectorid() const override { return _detector; }
0034
0035 protected:
0036 TClonesArray *_clones{nullptr};
0037 DETECTOR _detector{DETECTOR_INVALID};
0038
0039 private:
0040 ClassDefOverride(TowerInfoContainerv5, 1);
0041 };
0042
0043 #endif