psddl_pds2psana/src/lusi.ddl.cpp

Go to the documentation of this file.
00001 
00002 // *** Do not edit this file, it is auto-generated ***
00003 
00004 #include "psddl_pds2psana/lusi.ddl.h"
00005 
00006 #include <cstddef>
00007 
00008 #include <stdexcept>
00009 
00010 namespace psddl_pds2psana {
00011 namespace Lusi {
00012 Psana::Lusi::DiodeFexConfigV1 pds_to_psana(Pds::Lusi::DiodeFexConfigV1 pds)
00013 {
00014   return Psana::Lusi::DiodeFexConfigV1(pds.base().data(), pds.scale().data());
00015 }
00016 
00017 Psana::Lusi::DiodeFexConfigV2 pds_to_psana(Pds::Lusi::DiodeFexConfigV2 pds)
00018 {
00019   return Psana::Lusi::DiodeFexConfigV2(pds.base().data(), pds.scale().data());
00020 }
00021 
00022 Psana::Lusi::DiodeFexV1 pds_to_psana(Pds::Lusi::DiodeFexV1 pds)
00023 {
00024   return Psana::Lusi::DiodeFexV1(pds.value());
00025 }
00026 
00027 IpmFexConfigV1::IpmFexConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00028   : Psana::Lusi::IpmFexConfigV1()
00029   , m_xtcObj(xtcPtr)
00030 {
00031   {
00032     typedef ndarray<Psana::Lusi::DiodeFexConfigV1, 1> NDArray;
00033     typedef ndarray<const Pds::Lusi::DiodeFexConfigV1, 1> XtcNDArray;
00034     const XtcNDArray& xtc_ndarr = xtcPtr->diode();
00035     _diode_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00036     NDArray::iterator out = _diode_ndarray_storage_.begin();
00037     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00038       *out = psddl_pds2psana::Lusi::pds_to_psana(*it);
00039     }
00040   }
00041 }
00042 IpmFexConfigV1::~IpmFexConfigV1()
00043 {
00044 }
00045 
00046 ndarray<const Psana::Lusi::DiodeFexConfigV1, 1> IpmFexConfigV1::diode() const { return _diode_ndarray_storage_; }
00047 
00048 float IpmFexConfigV1::xscale() const {
00049   return m_xtcObj->xscale();
00050 }
00051 
00052 
00053 float IpmFexConfigV1::yscale() const {
00054   return m_xtcObj->yscale();
00055 }
00056 
00057 IpmFexConfigV2::IpmFexConfigV2(const boost::shared_ptr<const XtcType>& xtcPtr)
00058   : Psana::Lusi::IpmFexConfigV2()
00059   , m_xtcObj(xtcPtr)
00060 {
00061   {
00062     typedef ndarray<Psana::Lusi::DiodeFexConfigV2, 1> NDArray;
00063     typedef ndarray<const Pds::Lusi::DiodeFexConfigV2, 1> XtcNDArray;
00064     const XtcNDArray& xtc_ndarr = xtcPtr->diode();
00065     _diode_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00066     NDArray::iterator out = _diode_ndarray_storage_.begin();
00067     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00068       *out = psddl_pds2psana::Lusi::pds_to_psana(*it);
00069     }
00070   }
00071 }
00072 IpmFexConfigV2::~IpmFexConfigV2()
00073 {
00074 }
00075 
00076 ndarray<const Psana::Lusi::DiodeFexConfigV2, 1> IpmFexConfigV2::diode() const { return _diode_ndarray_storage_; }
00077 
00078 float IpmFexConfigV2::xscale() const {
00079   return m_xtcObj->xscale();
00080 }
00081 
00082 
00083 float IpmFexConfigV2::yscale() const {
00084   return m_xtcObj->yscale();
00085 }
00086 
00087 Psana::Lusi::IpmFexV1 pds_to_psana(Pds::Lusi::IpmFexV1 pds)
00088 {
00089   return Psana::Lusi::IpmFexV1(pds.channel().data(), pds.sum(), pds.xpos(), pds.ypos());
00090 }
00091 
00092 Psana::Lusi::PimImageConfigV1 pds_to_psana(Pds::Lusi::PimImageConfigV1 pds)
00093 {
00094   return Psana::Lusi::PimImageConfigV1(pds.xscale(), pds.yscale());
00095 }
00096 
00097 } // namespace Lusi
00098 } // namespace psddl_pds2psana

Generated on 19 Dec 2016 for PSDMSoftware by  doxygen 1.4.7