Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef CALOBASE_RAWTOWERGEOMCONTAINERV1_H
0002 #define CALOBASE_RAWTOWERGEOMCONTAINERV1_H
0003 
0004 #include "RawTowerGeomContainer.h"
0005 
0006 #include "RawTowerDefs.h"
0007 
0008 #include <iostream>
0009 
0010 class RawTowerGeom;
0011 
0012 /*! \class RawTowerGeomContainerv1
0013     \brief Generic tower geometry class, store each tower's geometry individually
0014 */
0015 class RawTowerGeomContainerv1 : public RawTowerGeomContainer
0016 {
0017  public:
0018   RawTowerGeomContainerv1(RawTowerDefs::CalorimeterId caloid = RawTowerDefs::NONE);
0019   ~RawTowerGeomContainerv1() override;
0020 
0021   // cppcheck-suppress virtualCallInConstructor
0022   void Reset() override;
0023   int isValid() const override;
0024   void identify(std::ostream &os = std::cout) const override;
0025 
0026   void set_calorimeter_id(RawTowerDefs::CalorimeterId caloid) override { _caloid = caloid; }
0027   RawTowerDefs::CalorimeterId get_calorimeter_id() const override { return _caloid; }
0028 
0029   ConstIterator add_tower_geometry(RawTowerGeom *geo) override;
0030   RawTowerGeom *get_tower_geometry(RawTowerDefs::keytype key) override;
0031 
0032   //! return all tower geometries
0033   ConstRange get_tower_geometries(void) const override;
0034   Range get_tower_geometries(void) override;
0035 
0036   unsigned int size() const override { return _geoms.size(); }
0037 
0038  protected:
0039   RawTowerDefs::CalorimeterId _caloid;
0040   Map _geoms;
0041 
0042   ClassDefOverride(RawTowerGeomContainerv1, 1)
0043 };
0044 
0045 #endif