Back to home page

sPhenix code displayed by LXR

 
 

    


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 // this is basically a copy of TowerInfoContainerv1.h, but with TowerInfov4...
0015 class TowerInfoContainerv4 : public TowerInfoContainer
0016 {
0017  public:
0018   TowerInfoContainerv4(DETECTOR detec);
0019 
0020   // default constructor for ROOT IO
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