Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:20

0001 #ifndef NPSTAT_EQUIDISTANTSEQUENCE_HH_
0002 #define NPSTAT_EQUIDISTANTSEQUENCE_HH_
0003 
0004 /*!
0005 // \file EquidistantSequence.h
0006 //
0007 // \brief Equidistant sequences of points in either linear or log space
0008 //
0009 // Author: I. Volobouev
0010 //
0011 // March 2009
0012 */
0013 
0014 #include <vector>
0015 
0016 namespace npstat {
0017   /**
0018     // A sequence of points equidistant in linear space. Note that
0019     // std::vector destructor is not virtual, so do not destroy this
0020     // class by base pointer or reference.
0021     */
0022   class EquidistantInLinearSpace : public std::vector<double> {
0023   public:
0024     EquidistantInLinearSpace(double minScale, double maxScale, unsigned nScales);
0025     virtual ~EquidistantInLinearSpace() {}
0026 
0027     EquidistantInLinearSpace() = delete;
0028   };
0029 
0030   /**
0031     // A sequence of points equidistant in log space. Note that
0032     // std::vector destructor is not virtual, so do not destroy this
0033     // class by base pointer or reference.
0034     */
0035   class EquidistantInLogSpace : public std::vector<double> {
0036   public:
0037     EquidistantInLogSpace(double minScale, double maxScale, unsigned nScales);
0038     virtual ~EquidistantInLogSpace() {}
0039 
0040     EquidistantInLogSpace() = delete;
0041   };
0042 }  // namespace npstat
0043 
0044 #endif  // NPSTAT_EQUIDISTANTSEQUENCE_HH_