Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:29

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