pdscalibdata/include/PnccdPixelRmsV1.h

Go to the documentation of this file.
00001 #ifndef PDSCALIBDATA_PNCCDPIXELRMSV1_H
00002 #define PDSCALIBDATA_PNCCDPIXELRMSV1_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: PnccdPixelRmsV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class PnccdPixelRmsV1.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <string>
00017 
00018 //----------------------
00019 // Base Class Headers --
00020 //----------------------
00021 #include "pdscalibdata/PnccdBaseV1.h" // Segs, Rows, Cols etc.
00022 
00023 //-------------------------------
00024 // Collaborating Class Headers --
00025 //-------------------------------
00026 #include "ndarray/ndarray.h"
00027 #include "pdsdata/psddl/pnccd.ddl.h"
00028 
00029 //------------------------------------
00030 // Collaborating Class Declarations --
00031 //------------------------------------
00032 
00033 //              ---------------------
00034 //              -- Class Interface --
00035 //              ---------------------
00036 
00037 namespace pdscalibdata {
00038 
00039 /**
00040  *  This software was developed for the LCLS project.  If you use all or 
00041  *  part of it, please give an appropriate acknowledgment.
00042  *
00043  *  @see AdditionalClass
00044  *
00045  *  @version $Id: PnccdPixelRmsV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00046  *
00047  *  @author Mikhail Dubrovin
00048  */
00049 
00050 class PnccdPixelRmsV1: public PnccdBaseV1 {
00051 public:
00052 
00053   typedef float pars_t;
00054 
00055   /// Default constructor
00056   PnccdPixelRmsV1 () ;
00057   
00058   /// Read parameters from file
00059   PnccdPixelRmsV1 (const std::string& fname) ;
00060 
00061   /// Destructor
00062   ~PnccdPixelRmsV1 (){}
00063 
00064   /// Access parameters
00065   ndarray<pars_t, 3> pixel_rms() const {
00066     return make_ndarray(m_pars, Segs, Rows, Cols);
00067   }
00068 
00069   /// Print array of parameters
00070   void  print();
00071 
00072 protected:
00073 
00074 private:
00075 
00076   /// Data members  
00077   mutable pars_t m_pars[Size];
00078 
00079   //std::string m_comment; 
00080   
00081   /// Copy constructor and assignment are disabled by default
00082   PnccdPixelRmsV1 ( const PnccdPixelRmsV1& ) ;
00083   PnccdPixelRmsV1& operator = ( const PnccdPixelRmsV1& ) ;
00084 };
00085 
00086 } // namespace pdscalibdata
00087 
00088 #endif // PDSCALIBDATA_PNCCDPIXELRMSV1_H

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7