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