File indexing completed on 2025-08-05 08:16:22
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 <iostream>
0010
0011 class PHObject;
0012
0013 class TowerInfoContainerv1 : public TowerInfoContainer
0014 {
0015 public:
0016 TowerInfoContainerv1(DETECTOR detec);
0017
0018
0019 TowerInfoContainerv1() {}
0020 PHObject *CloneMe() const override { return new TowerInfoContainerv1(*this); }
0021 TowerInfoContainerv1(const TowerInfoContainerv1 &);
0022
0023 ~TowerInfoContainerv1() override;
0024
0025 void identify(std::ostream &os = std::cout) const override;
0026
0027 void Reset() override;
0028 TowerInfov1 *get_tower_at_channel(int pos) override;
0029 TowerInfov1 *get_tower_at_key(int pos) override;
0030
0031 unsigned int encode_key(unsigned int towerIndex) override;
0032 unsigned int decode_key(unsigned int tower_key) override;
0033
0034 size_t size() const override { return _clones->GetEntries(); }
0035 DETECTOR get_detectorid() const override { return _detector; }
0036
0037 protected:
0038 TClonesArray *_clones = nullptr;
0039 DETECTOR _detector = DETECTOR_INVALID;
0040
0041 private:
0042 ClassDefOverride(TowerInfoContainerv1, 1);
0043 };
0044
0045 #endif