psddl_pds2psana/src/acqiris.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/acqiris.ddl.h"
00005 
00006 #include <cstddef>
00007 
00008 #include <stdexcept>
00009 
00010 namespace psddl_pds2psana {
00011 namespace Acqiris {
00012 Psana::Acqiris::VertV1::Coupling pds_to_psana(Pds::Acqiris::VertV1::Coupling e)
00013 {
00014   return Psana::Acqiris::VertV1::Coupling(e);
00015 }
00016 
00017 Psana::Acqiris::VertV1::Bandwidth pds_to_psana(Pds::Acqiris::VertV1::Bandwidth e)
00018 {
00019   return Psana::Acqiris::VertV1::Bandwidth(e);
00020 }
00021 
00022 Psana::Acqiris::VertV1 pds_to_psana(Pds::Acqiris::VertV1 pds)
00023 {
00024   return Psana::Acqiris::VertV1(pds.fullScale(), pds.offset(), pds.coupling(), pds.bandwidth());
00025 }
00026 
00027 Psana::Acqiris::HorizV1 pds_to_psana(Pds::Acqiris::HorizV1 pds)
00028 {
00029   return Psana::Acqiris::HorizV1(pds.sampInterval(), pds.delayTime(), pds.nbrSamples(), pds.nbrSegments());
00030 }
00031 
00032 Psana::Acqiris::TrigV1::Source pds_to_psana(Pds::Acqiris::TrigV1::Source e)
00033 {
00034   return Psana::Acqiris::TrigV1::Source(e);
00035 }
00036 
00037 Psana::Acqiris::TrigV1::Coupling pds_to_psana(Pds::Acqiris::TrigV1::Coupling e)
00038 {
00039   return Psana::Acqiris::TrigV1::Coupling(e);
00040 }
00041 
00042 Psana::Acqiris::TrigV1::Slope pds_to_psana(Pds::Acqiris::TrigV1::Slope e)
00043 {
00044   return Psana::Acqiris::TrigV1::Slope(e);
00045 }
00046 
00047 Psana::Acqiris::TrigV1 pds_to_psana(Pds::Acqiris::TrigV1 pds)
00048 {
00049   return Psana::Acqiris::TrigV1(pds.coupling(), pds.input(), pds.slope(), pds.level());
00050 }
00051 
00052 ConfigV1::ConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00053   : Psana::Acqiris::ConfigV1()
00054   , m_xtcObj(xtcPtr)
00055   , _trig(psddl_pds2psana::Acqiris::pds_to_psana(xtcPtr->trig()))
00056   , _horiz(psddl_pds2psana::Acqiris::pds_to_psana(xtcPtr->horiz()))
00057 {
00058   {
00059     typedef ndarray<Psana::Acqiris::VertV1, 1> NDArray;
00060     typedef ndarray<const Pds::Acqiris::VertV1, 1> XtcNDArray;
00061     const XtcNDArray& xtc_ndarr = xtcPtr->vert();
00062     _vert_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00063     NDArray::iterator out = _vert_ndarray_storage_.begin();
00064     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00065       *out = psddl_pds2psana::Acqiris::pds_to_psana(*it);
00066     }
00067   }
00068 }
00069 ConfigV1::~ConfigV1()
00070 {
00071 }
00072 
00073 
00074 uint32_t ConfigV1::nbrConvertersPerChannel() const {
00075   return m_xtcObj->nbrConvertersPerChannel();
00076 }
00077 
00078 
00079 uint32_t ConfigV1::channelMask() const {
00080   return m_xtcObj->channelMask();
00081 }
00082 
00083 
00084 uint32_t ConfigV1::nbrBanks() const {
00085   return m_xtcObj->nbrBanks();
00086 }
00087 
00088 const Psana::Acqiris::TrigV1& ConfigV1::trig() const { return _trig; }
00089 const Psana::Acqiris::HorizV1& ConfigV1::horiz() const { return _horiz; }
00090 ndarray<const Psana::Acqiris::VertV1, 1> ConfigV1::vert() const { return _vert_ndarray_storage_; }
00091 
00092 uint32_t ConfigV1::nbrChannels() const {
00093   return m_xtcObj->nbrChannels();
00094 }
00095 
00096 Psana::Acqiris::TimestampV1 pds_to_psana(Pds::Acqiris::TimestampV1 pds)
00097 {
00098   return Psana::Acqiris::TimestampV1(pds.pos(), pds.timeStampLo(), pds.timeStampHi());
00099 }
00100 
00101 template <typename Config>
00102 DataDescV1Elem<Config>::DataDescV1Elem(const boost::shared_ptr<const XtcType>& xtcPtr, const boost::shared_ptr<const Config>& cfgPtr)
00103   : Psana::Acqiris::DataDescV1Elem()
00104   , m_xtcObj(xtcPtr)
00105   , m_cfgPtr(cfgPtr)
00106 {
00107   {
00108     typedef ndarray<Psana::Acqiris::TimestampV1, 1> NDArray;
00109     typedef ndarray<const Pds::Acqiris::TimestampV1, 1> XtcNDArray;
00110     const XtcNDArray& xtc_ndarr = xtcPtr->timestamp(*cfgPtr);
00111     _timestamps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00112     NDArray::iterator out = _timestamps_ndarray_storage_.begin();
00113     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00114       *out = psddl_pds2psana::Acqiris::pds_to_psana(*it);
00115     }
00116   }
00117 }
00118 template <typename Config>
00119 DataDescV1Elem<Config>::~DataDescV1Elem()
00120 {
00121 }
00122 
00123 
00124 template <typename Config>
00125 uint32_t DataDescV1Elem<Config>::nbrSamplesInSeg() const {
00126   return m_xtcObj->nbrSamplesInSeg();
00127 }
00128 
00129 
00130 template <typename Config>
00131 uint32_t DataDescV1Elem<Config>::indexFirstPoint() const {
00132   return m_xtcObj->indexFirstPoint();
00133 }
00134 
00135 
00136 template <typename Config>
00137 uint32_t DataDescV1Elem<Config>::nbrSegments() const {
00138   return m_xtcObj->nbrSegments();
00139 }
00140 
00141 template <typename Config>
00142 ndarray<const Psana::Acqiris::TimestampV1, 1> DataDescV1Elem<Config>::timestamp() const { return _timestamps_ndarray_storage_; }
00143 
00144 template <typename Config>
00145 ndarray<const int16_t, 2> DataDescV1Elem<Config>::waveforms() const {
00146   return m_xtcObj->waveforms(*m_cfgPtr, m_xtcObj);
00147 }
00148 
00149 template class DataDescV1Elem<Pds::Acqiris::ConfigV1>;
00150 template <typename Config>
00151 DataDescV1<Config>::DataDescV1(const boost::shared_ptr<const XtcType>& xtcPtr, const boost::shared_ptr<const Config>& cfgPtr)
00152   : Psana::Acqiris::DataDescV1()
00153   , m_xtcObj(xtcPtr)
00154   , m_cfgPtr(cfgPtr)
00155 {
00156   {
00157     const std::vector<int>& dims = xtcPtr->data_shape(*cfgPtr);
00158     _data.reserve(dims[0]);
00159     for (int i0=0; i0 != dims[0]; ++i0) {
00160       const Pds::Acqiris::DataDescV1Elem& d = xtcPtr->data(*cfgPtr, i0);
00161       boost::shared_ptr<const Pds::Acqiris::DataDescV1Elem> dPtr(m_xtcObj, &d);
00162       _data.push_back(psddl_pds2psana::Acqiris::DataDescV1Elem<Config>(dPtr, cfgPtr));
00163     }
00164   }
00165 }
00166 template <typename Config>
00167 DataDescV1<Config>::~DataDescV1()
00168 {
00169 }
00170 
00171 template <typename Config>
00172 const Psana::Acqiris::DataDescV1Elem& DataDescV1<Config>::data(uint32_t i0) const { return _data.at(i0); }
00173 template <typename Config>
00174 std::vector<int> DataDescV1<Config>::data_shape() const
00175 {
00176   std::vector<int> shape;
00177   shape.reserve(1);
00178   shape.push_back(_data.size());
00179   return shape;
00180 }
00181 
00182 template class DataDescV1<Pds::Acqiris::ConfigV1>;
00183 Psana::Acqiris::TdcChannel::Channel pds_to_psana(Pds::Acqiris::TdcChannel::Channel e)
00184 {
00185   return Psana::Acqiris::TdcChannel::Channel(e);
00186 }
00187 
00188 Psana::Acqiris::TdcChannel::Mode pds_to_psana(Pds::Acqiris::TdcChannel::Mode e)
00189 {
00190   return Psana::Acqiris::TdcChannel::Mode(e);
00191 }
00192 
00193 Psana::Acqiris::TdcChannel::Slope pds_to_psana(Pds::Acqiris::TdcChannel::Slope e)
00194 {
00195   return Psana::Acqiris::TdcChannel::Slope(e);
00196 }
00197 
00198 Psana::Acqiris::TdcChannel pds_to_psana(Pds::Acqiris::TdcChannel pds)
00199 {
00200   return Psana::Acqiris::TdcChannel(pds_to_psana(pds.channel()), pds_to_psana(pds.slope()), pds_to_psana(pds.mode()), pds.level());
00201 }
00202 
00203 Psana::Acqiris::TdcAuxIO::Channel pds_to_psana(Pds::Acqiris::TdcAuxIO::Channel e)
00204 {
00205   return Psana::Acqiris::TdcAuxIO::Channel(e);
00206 }
00207 
00208 Psana::Acqiris::TdcAuxIO::Mode pds_to_psana(Pds::Acqiris::TdcAuxIO::Mode e)
00209 {
00210   return Psana::Acqiris::TdcAuxIO::Mode(e);
00211 }
00212 
00213 Psana::Acqiris::TdcAuxIO::Termination pds_to_psana(Pds::Acqiris::TdcAuxIO::Termination e)
00214 {
00215   return Psana::Acqiris::TdcAuxIO::Termination(e);
00216 }
00217 
00218 Psana::Acqiris::TdcAuxIO pds_to_psana(Pds::Acqiris::TdcAuxIO pds)
00219 {
00220   return Psana::Acqiris::TdcAuxIO(pds_to_psana(pds.channel()), pds_to_psana(pds.mode()), pds_to_psana(pds.term()));
00221 }
00222 
00223 Psana::Acqiris::TdcVetoIO::Channel pds_to_psana(Pds::Acqiris::TdcVetoIO::Channel e)
00224 {
00225   return Psana::Acqiris::TdcVetoIO::Channel(e);
00226 }
00227 
00228 Psana::Acqiris::TdcVetoIO::Mode pds_to_psana(Pds::Acqiris::TdcVetoIO::Mode e)
00229 {
00230   return Psana::Acqiris::TdcVetoIO::Mode(e);
00231 }
00232 
00233 Psana::Acqiris::TdcVetoIO::Termination pds_to_psana(Pds::Acqiris::TdcVetoIO::Termination e)
00234 {
00235   return Psana::Acqiris::TdcVetoIO::Termination(e);
00236 }
00237 
00238 Psana::Acqiris::TdcVetoIO pds_to_psana(Pds::Acqiris::TdcVetoIO pds)
00239 {
00240   return Psana::Acqiris::TdcVetoIO(pds_to_psana(pds.mode()), pds_to_psana(pds.term()));
00241 }
00242 
00243 TdcConfigV1::TdcConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00244   : Psana::Acqiris::TdcConfigV1()
00245   , m_xtcObj(xtcPtr)
00246   , _veto(psddl_pds2psana::Acqiris::pds_to_psana(xtcPtr->veto()))
00247 {
00248   {
00249     typedef ndarray<Psana::Acqiris::TdcChannel, 1> NDArray;
00250     typedef ndarray<const Pds::Acqiris::TdcChannel, 1> XtcNDArray;
00251     const XtcNDArray& xtc_ndarr = xtcPtr->channels();
00252     _channel_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00253     NDArray::iterator out = _channel_ndarray_storage_.begin();
00254     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00255       *out = psddl_pds2psana::Acqiris::pds_to_psana(*it);
00256     }
00257   }
00258   {
00259     typedef ndarray<Psana::Acqiris::TdcAuxIO, 1> NDArray;
00260     typedef ndarray<const Pds::Acqiris::TdcAuxIO, 1> XtcNDArray;
00261     const XtcNDArray& xtc_ndarr = xtcPtr->auxio();
00262     _auxIO_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00263     NDArray::iterator out = _auxIO_ndarray_storage_.begin();
00264     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00265       *out = psddl_pds2psana::Acqiris::pds_to_psana(*it);
00266     }
00267   }
00268 }
00269 TdcConfigV1::~TdcConfigV1()
00270 {
00271 }
00272 
00273 ndarray<const Psana::Acqiris::TdcChannel, 1> TdcConfigV1::channels() const { return _channel_ndarray_storage_; }
00274 ndarray<const Psana::Acqiris::TdcAuxIO, 1> TdcConfigV1::auxio() const { return _auxIO_ndarray_storage_; }
00275 const Psana::Acqiris::TdcVetoIO& TdcConfigV1::veto() const { return _veto; }
00276 Psana::Acqiris::TdcDataV1_Item::Source pds_to_psana(Pds::Acqiris::TdcDataV1_Item::Source e)
00277 {
00278   return Psana::Acqiris::TdcDataV1_Item::Source(e);
00279 }
00280 
00281 Psana::Acqiris::TdcDataV1_Item pds_to_psana(Pds::Acqiris::TdcDataV1_Item pds)
00282 {
00283   return Psana::Acqiris::TdcDataV1_Item(pds.bf_val_(), pds_to_psana(pds.source()), pds.bf_ofv_());
00284 }
00285 
00286 Psana::Acqiris::TdcDataV1Marker::Type pds_to_psana(Pds::Acqiris::TdcDataV1Marker::Type e)
00287 {
00288   return Psana::Acqiris::TdcDataV1Marker::Type(e);
00289 }
00290 
00291 TdcDataV1::~TdcDataV1()
00292 {
00293 }
00294 
00295 ndarray<const Psana::Acqiris::TdcDataV1_Item, 1> TdcDataV1::data() const { return _data_ndarray_storage_; }
00296 } // namespace Acqiris
00297 } // namespace psddl_pds2psana

Generated on 19 Dec 2016 for PSDMSoftware by  doxygen 1.4.7