#ifndef METOOLS__Main__Polarization_Index_H #define METOOLS__Main__Polarization_Index_H #include #include #include namespace METOOLS { class Polarization_Index { protected: /*! \brief vector containing the number of spin combinations for each particle "node". */ std::vector m_spins; std::string m_id; size_t m_n; public: inline Polarization_Index(): m_n(0) {} inline Polarization_Index(const std::vector &spins) { Init(spins); } void Init(const std::vector &spins); size_t operator()(const std::vector &spins) const; std::vector operator()(size_t number) const; inline const std::vector &Spins() const { return m_spins; } inline const std::string &SpinID() const { return m_id; } inline size_t N() const { return m_n; } };// end of class Polarization_Index }// end of namespace METOOLS #endif