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