#ifndef HEPHISTPROFARRAY_H #define HEPHISTPROFARRAY_H // ---------------------------------------------------------------------- // // HepHistProfArray.h - class declaration for generic array of Prof histogram // // See HepHist1DArray.h for details. // // History: // 02-APR-99 Philippe Canal initial Draft #ifndef ZMENVIRONMENT_H #include "ZMutility/ZMenvironment.h" #endif #include #ifndef HEPOBJ_H #include "HepTuple/HepObj.h" #endif #ifndef ISOCXX__ISOCXX #include #endif ZM_BEGIN_NAMESPACE( zmht ) /* namespace zmht { */ class HepHistProf; class HepHistProfArray : public HepObj { friend class HepFileManager; public: typedef std::STL_VECTOR(HepHistProf*) dataArray; protected: HepHistProfArray( // constructor HepFileManager * mgr , const std::string & title , const dataArray & data ); // Used for dummy construction ... // the object is then not valid ... HepHistProfArray( ); // default constructor public: virtual ~HepHistProfArray(); // destructor virtual ZM_COVARIANT_TYPE(HepObj,HepHistProfArray) & makeClone( const std::string& title, const int id = 0) const; virtual ZM_COVARIANT_TYPE(HepObj,HepHistProfArray) & makeEmpty( const std::string& title, const int id = 0) const; virtual ZM_COVARIANT_TYPE(HepObj,HepHistProfArray) & makeClone( HepFileManager *manager, const std::string& title , const int id = 0) const; virtual ZM_COVARIANT_TYPE(HepObj,HepHistProfArray) & makeEmpty( HepFileManager *manager, const std::string& title , const int id = 0) const; virtual void reset(); virtual int length() const; virtual HepHistProf& operator[](int pos) const; virtual int nBinsX() const; // retrieve # of in-range X bins virtual float minX() const; // retrieve low end of binned X range virtual float minY() const; // retrieve high end of binned X range virtual float maxX() const; // retrieve low end of binned X range virtual float maxY() const; // retrieve high end of binned X range private: // forbidden operations, hence private HepHistProfArray( const HepHistProfArray & ); // copy constructor HepHistProfArray & operator=( const HepHistProfArray & ); // assignment dataArray data_; // array of HistProf pointers int nBinsX_; // # of in-range bins float minX_; // lowest in-range value float maxX_; // highest in-range value float minY_; // lowest in-range value float maxY_; // highest in-range value }; ZM_END_NAMESPACE( zmht ) /* } // namespace zmht */ #endif // HEPHISTPROFARRAY_H