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