Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef TOWERINFOCONTAINERSIMV3_H
0002 #define TOWERINFOCONTAINERSIMV3_H
0003 
0004 #include "TowerInfoContainer.h"
0005 #include "TowerInfoSimv3.h"
0006 
0007 #include <TClonesArray.h>
0008 
0009 #include <cstddef>  // for size_t
0010 #include <iostream>
0011 
0012 class PHObject;
0013 
0014 class TowerInfoContainerSimv3 : public TowerInfoContainer
0015 {
0016  public:
0017   TowerInfoContainerSimv3(DETECTOR detec);
0018 
0019   // default constructor for ROOT IO
0020   TowerInfoContainerSimv3() = default;
0021   PHObject *CloneMe() const override { return new TowerInfoContainerSimv3(*this); }
0022   TowerInfoContainerSimv3(const TowerInfoContainerSimv3 &);
0023   TowerInfoContainerSimv3 &operator=(const TowerInfoContainerSimv3 &) = delete;
0024 
0025   ~TowerInfoContainerSimv3() override;
0026 
0027   void identify(std::ostream &os = std::cout) const override;
0028 
0029   void Reset() override;
0030   TowerInfoSimv3 *get_tower_at_channel(int pos) override;
0031   TowerInfoSimv3 *get_tower_at_key(int pos) override;
0032 
0033   size_t size() const override { return _clones->GetEntries(); }
0034   DETECTOR get_detectorid() const override { return _detector; }
0035 
0036  protected:
0037   TClonesArray *_clones = nullptr;
0038   DETECTOR _detector = DETECTOR_INVALID;
0039 
0040  private:
0041   ClassDefOverride(TowerInfoContainerSimv3, 1);
0042 };
0043 
0044 #endif