File indexing completed on 2025-08-05 08:16:22
0001 #ifndef TOWERINFOCONTAINERV3_H
0002 #define TOWERINFOCONTAINERV3_H
0003
0004 #include "TowerInfoContainer.h"
0005 #include "TowerInfov3.h"
0006
0007 #include <TClonesArray.h>
0008
0009 class PHObject;
0010
0011 class TowerInfoContainerv3 : public TowerInfoContainer
0012 {
0013 public:
0014 TowerInfoContainerv3(DETECTOR detec);
0015
0016
0017 TowerInfoContainerv3() {}
0018 PHObject *CloneMe() const override { return new TowerInfoContainerv3(*this); }
0019 TowerInfoContainerv3(const TowerInfoContainerv3 &);
0020
0021 ~TowerInfoContainerv3() override;
0022
0023 void identify(std::ostream &os = std::cout) const override;
0024
0025 void Reset() override;
0026 TowerInfov3 *get_tower_at_channel(int pos) override;
0027 TowerInfov3 *get_tower_at_key(int pos) override;
0028
0029 unsigned int encode_key(unsigned int towerIndex) override;
0030 unsigned int decode_key(unsigned int tower_key) 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(TowerInfoContainerv3, 1);
0041 };
0042
0043 #endif