pdscalibdata/include/CsPadBeamIntersectV1.h

Go to the documentation of this file.
00001 #ifndef PDSCALIBDATA_CSPADBEAMINTERSECTV1_H
00002 #define PDSCALIBDATA_CSPADBEAMINTERSECTV1_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: CsPadBeamIntersectV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class CsPadBeamIntersectV1.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <vector>
00017 #include <cstddef>
00018 
00019 //----------------------
00020 // Base Class Headers --
00021 //----------------------
00022 
00023 //-------------------------------
00024 // Collaborating Class Headers --
00025 //-------------------------------
00026 // #include "psddl_psana/cspad.ddl.h"
00027 
00028 //------------------------------------
00029 // Collaborating Class Declarations --
00030 //------------------------------------
00031 
00032 //              ---------------------
00033 //              -- Class Interface --
00034 //              ---------------------
00035 
00036 namespace pdscalibdata {
00037 
00038 /**
00039  *  Gets, holds, and provides an access to the 3-vector for CSPAD users.
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: CsPadBeamIntersectV1.h 8034 2014-04-19 00:51:18Z dubrovin@SLAC.STANFORD.EDU $
00047  *
00048  *  @author Mikhail S. Dubrovin
00049  */
00050 
00051 class CsPadBeamIntersectV1  {
00052 public:
00053 
00054   enum { NUMBER_OF_PARAMETERS = 3 };
00055 
00056   CsPadBeamIntersectV1( const std::vector<double> v_parameters );
00057   double  getVectorEl(std::size_t i){ return m_beam_intersect[i]; };
00058   double* getVector(){ return &m_beam_intersect[0]; };
00059 
00060   void  print();
00061 
00062   // Default constructor
00063   CsPadBeamIntersectV1 () ;
00064 
00065   // Destructor
00066   virtual ~CsPadBeamIntersectV1 () ;
00067 
00068 protected:
00069 
00070 private:
00071 
00072   // Data members
00073   // 3-vector, defined by users for CSPAD position
00074   double m_beam_intersect[NUMBER_OF_PARAMETERS];
00075   
00076   // Copy constructor and assignment are disabled by default
00077   CsPadBeamIntersectV1 ( const CsPadBeamIntersectV1& ) ;
00078   CsPadBeamIntersectV1& operator = ( const CsPadBeamIntersectV1& ) ;
00079 
00080 };
00081 
00082 } // namespace pdscalibdata
00083 
00084 #endif // PDSCALIBDATA_CSPADBEAMINTERSECTV1_H

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7