Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-06 08:08:20

0001 #ifndef TRIGGER_TRIGGERTILE_H
0002 #define TRIGGER_TRIGGERTILE_H
0003 
0004 #include <phool/PHObject.h>
0005 
0006 #include <vector>
0007 
0008 ///
0009 class TriggerTile : public PHObject
0010 {
0011  public:
0012   TriggerTile() = default;
0013   virtual ~TriggerTile() override = default;
0014 
0015   /// Clear Event from memory
0016   void Reset() override;
0017   void identify(std::ostream& out = std::cout) const override;
0018 
0019   void AddTile(unsigned short seta, unsigned short sphi, unsigned short eadc);
0020 
0021   unsigned short get_tile_eta(int i) const
0022   {
0023     if (i < m_tileNumber && i >= 0)
0024     {
0025       return m_tileEta[i];
0026     }
0027     else
0028     {
0029       std::cout << "TriggerTile:: Warning, index out of bounds." << std::endl;
0030       return -1;
0031     }
0032   }
0033 
0034   unsigned short get_tile_phi(int i) const
0035   {
0036     if (i < m_tileNumber && i >= 0)
0037     {
0038       return m_tilePhi[i];
0039     }
0040     else
0041     {
0042       std::cout << "TriggerTile:: Warning, index out of bounds." << std::endl;
0043       return -1;
0044     }
0045   }
0046 
0047   unsigned short get_tile_energy_adc(int i) const
0048   {
0049     if (i < m_tileNumber && i >= 0)
0050     {
0051       return m_tileEnergyAdc[i];
0052     }
0053     else
0054     {
0055       std::cout << "TriggerTile:: Warning, index out of bounds." << std::endl;
0056       return -1;
0057     }
0058   }
0059 
0060   unsigned short get_tile_number() const
0061   {
0062     return m_tileNumber;
0063   }
0064 
0065   void SortTiles();
0066 
0067  private:  // so the ClassDef does not show up with doc++
0068   unsigned short m_tileNumber = 0;
0069   std::vector<unsigned short> m_tileEta;
0070   std::vector<unsigned short> m_tilePhi;
0071   std::vector<unsigned short> m_tileEnergyAdc;
0072 
0073   ClassDefOverride(TriggerTile, 1);
0074 };
0075 
0076 #endif