pdscalibdata/include/CalibParsQuadRotationV1.h

Go to the documentation of this file.
00001 #ifndef PDSCALIBDATA_CALIBPARSQUADROTATIONV1_H
00002 #define PDSCALIBDATA_CALIBPARSQUADROTATIONV1_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: CalibParsQuadRotationV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class CalibParsQuadRotationV1.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <vector>
00017 
00018 //----------------------
00019 // Base Class Headers --
00020 //----------------------
00021 
00022 //-------------------------------
00023 // Collaborating Class Headers --
00024 //-------------------------------
00025 #include "psddl_psana/cspad.ddl.h"
00026 
00027 //------------------------------------
00028 // Collaborating Class Declarations --
00029 //------------------------------------
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 namespace pdscalibdata {
00036 
00037 /**
00038  *  Gets, holds, and provides an access to the 4 quad 
00039  *  rotation angles (degree) of the CSPad
00040  *
00041  *  This software was developed for the LCLS project.  If you use all or 
00042  *  part of it, please give an appropriate acknowledgment.
00043  *
00044  *  @see AdditionalClass
00045  *
00046  *  @version $Id: CalibParsQuadRotationV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00047  *
00048  *  @author Mikhail S. Dubrovin
00049  */
00050 
00051 class CalibParsQuadRotationV1  {
00052 public:
00053 
00054   enum { NQuad = Psana::CsPad::MaxQuadsPerSensor};
00055   enum { NUMBER_OF_PARAMETERS = 4 };
00056 
00057   CalibParsQuadRotationV1( const std::vector<double> v_parameters );
00058   double getQuadRotation(size_t quad){ return m_quad_rotation[quad]; };
00059   void  print();
00060 
00061   // Default constructor
00062   CalibParsQuadRotationV1 () ;
00063 
00064   // Destructor
00065   virtual ~CalibParsQuadRotationV1 () ;
00066 
00067 protected:
00068 
00069 private:
00070 
00071   // Data members
00072   // Segment (2x1) nominal rotation angles (0,90,180,270)
00073   double m_quad_rotation[NQuad];
00074   
00075   // Copy constructor and assignment are disabled by default
00076   CalibParsQuadRotationV1 ( const CalibParsQuadRotationV1& ) ;
00077   CalibParsQuadRotationV1& operator = ( const CalibParsQuadRotationV1& ) ;
00078 
00079 };
00080 
00081 } // namespace pdscalibdata
00082 
00083 #endif // PDSCALIBDATA_CALIBPARSQUADROTATIONV1_H

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7