Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-07-16 08:13:59

0001 #ifndef TOWERINFOCONTAINERV5_H
0002 #define TOWERINFOCONTAINERV5_H
0003 
0004 #include "TowerInfoContainer.h"
0005 #include "TowerInfov5.h"
0006 
0007 #include <TClonesArray.h>
0008 
0009 #include <cstddef>
0010 #include <iostream>
0011 
0012 class PHObject;
0013 
0014 class TowerInfoContainerv5 : public TowerInfoContainer
0015 {
0016  public:
0017   TowerInfoContainerv5(DETECTOR detec);
0018 
0019   // default constructor for ROOT IO
0020   TowerInfoContainerv5() = default;
0021   PHObject *CloneMe() const override { return new TowerInfoContainerv5(*this); }
0022   TowerInfoContainerv5(const TowerInfoContainerv5 &);
0023 
0024   ~TowerInfoContainerv5() override;
0025 
0026   void identify(std::ostream &os = std::cout) const override;
0027 
0028   void Reset() override;
0029   TowerInfov5 *get_tower_at_channel(int pos) override;
0030   TowerInfov5 *get_tower_at_key(int pos) 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(TowerInfoContainerv5, 1);
0041 };
0042 
0043 #endif