Back to home page

sPhenix code displayed by LXR

 
 

    


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   // default constructor for ROOT IO
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