CSPadPixCoords/include/QuadParameters.h

Go to the documentation of this file.
00001 #ifndef CSPADPIXCOORDS_QUADPARAMETERS_H
00002 #define CSPADPIXCOORDS_QUADPARAMETERS_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: QuadParameters.h 8040 2014-04-19 01:00:36Z dubrovin@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class QuadParameters.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <string>
00017 #include <vector>
00018 #include <stdint.h>
00019 
00020 //----------------------
00021 // Base Class Headers --
00022 //----------------------
00023 
00024 //-------------------------------
00025 // Collaborating Class Headers --
00026 //-------------------------------
00027 
00028 //------------------------------------
00029 // Collaborating Class Declarations --
00030 //------------------------------------
00031 
00032 //              ---------------------
00033 //              -- Class Interface --
00034 //              ---------------------
00035 
00036 namespace CSPadPixCoords {
00037 
00038 /// @addtogroup CSPadPixCoords
00039 
00040 /**
00041  *  @ingroup CSPadPixCoords
00042  *
00043  *  @brief QuadParameters class holds current parameters for the CSPad quads.
00044  *  
00045  *  Object of this class is used for passing of the list of current quad parameters. 
00046  *
00047  *  This software was developed for the LCLS project.  If you use all or 
00048  *  part of it, please give an appropriate acknowledgment.
00049  *
00050  *  @see PixCoords2x1, PixCoordsQuad, PixCoordsCSPad
00051  *
00052  *  @version $Id: QuadParameters.h 8040 2014-04-19 01:00:36Z dubrovin@SLAC.STANFORD.EDU $
00053  *
00054  *  @author Mikhail S. Dubrovin
00055  */
00056 
00057 class QuadParameters  {
00058 public:
00059 
00060   // Default constructor
00061   QuadParameters () ;
00062 
00063   // Regular constructor
00064   /**
00065    *  @brief Creates an object which holds the current quad parameters.
00066    *  
00067    *  @param[in] quadNumber      Current quad number.
00068    *  @param[in] nrows           Number of rows reserved for the quad image.
00069    *  @param[in] ncols           Number of columns reserved for the quad image.
00070    *  @param[in] numAsicsStored  Number of ASICs stored for this quad in the event. 
00071    *  @param[in] roiMask         8-bit mask showing the sections presented in data.
00072    */ 
00073   QuadParameters (uint32_t         quadNumber, 
00074                   size_t           nrows=850, 
00075                   size_t           ncols=850, 
00076                   uint32_t         numAsicsStored=16, 
00077                   uint32_t         roiMask=255) ;
00078 
00079   // Destructor
00080   virtual ~QuadParameters () ;
00081 
00082   size_t           getNRows             (){ return m_nrows;   };
00083   size_t           getNCols             (){ return m_ncols;   };
00084   uint32_t         getRoiMask           (){ return m_roiMask; };
00085   uint32_t         getQuadNumber        (){ return m_quadNumber; };
00086   uint32_t         getNumberAsicsStroed (){ return m_numAsicsStored; };
00087 
00088   void print ();
00089 
00090 private:
00091 
00092   // Copy constructor and assignment are disabled by default
00093   QuadParameters ( const QuadParameters& ) ;
00094   QuadParameters operator = ( const QuadParameters& ) ;
00095 
00096 //------------------
00097 // Static Members --
00098 //------------------
00099 
00100   // Data members
00101   uint32_t         m_quadNumber;
00102   size_t           m_nrows;
00103   size_t           m_ncols;
00104   uint32_t         m_numAsicsStored;
00105   uint32_t         m_roiMask;
00106 
00107 };
00108 
00109 } // namespace CSPadPixCoords
00110 
00111 #endif // CSPADPIXCOORDS_QUADPARAMETERS_H

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7