#ifndef SECTOR_H #define SECTOR_H #include #include #include "Cluster.h" namespace pool_tutorial { // Class holding the clusters of a sector of a calorimeter class Sector { public: // Constructor Sector(); // Constructor with the name of the sector explicit Sector( const std::string& name ); // Destructor virtual ~Sector(); // Copy constructor Sector( const Sector& rhs ); // Assignment operator Sector& operator=( const Sector& rhs ); // Sets the name of the sector void setName( const std::string& name ); // Retrieve the name of the sector const std::string& name() const; // Adds a cluster void addCluster( const Cluster& cluster ); // Returns the number of clusters unsigned int numberOfClusters() const; // The iterator over the clusters typedef std::vector< Cluster >::iterator iterator; typedef std::vector< Cluster >::const_iterator const_iterator; // Returns the iterator to the first element iterator begin(); const_iterator begin() const; // Returns the iterator to the one after the last element iterator end(); const_iterator end() const; private: // The name of the sector std::string m_name; // The vector of the clusters std::vector< Cluster > m_clusters; }; } #endif