psddl_pds2psana/src/evr.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/evr.ddl.h"
00005 
00006 #include <cstddef>
00007 
00008 #include <stdexcept>
00009 
00010 namespace psddl_pds2psana {
00011 namespace EvrData {
00012 Psana::EvrData::PulseConfig pds_to_psana(Pds::EvrData::PulseConfig pds)
00013 {
00014   return Psana::EvrData::PulseConfig(pds.pulse(), pds.trigger(), pds.set(), pds.clear(), pds.polarity(), pds.map_set_enable(), pds.map_reset_enable(), pds.map_trigger_enable(), pds.prescale(), pds.delay(), pds.width());
00015 }
00016 
00017 Psana::EvrData::PulseConfigV3 pds_to_psana(Pds::EvrData::PulseConfigV3 pds)
00018 {
00019   return Psana::EvrData::PulseConfigV3(pds.pulseId(), pds.polarity(), pds.prescale(), pds.delay(), pds.width());
00020 }
00021 
00022 Psana::EvrData::EventCodeV3 pds_to_psana(Pds::EvrData::EventCodeV3 pds)
00023 {
00024   return Psana::EvrData::EventCodeV3(pds.code(), pds.isReadout(), pds.isTerminator(), pds.maskTrigger(), pds.maskSet(), pds.maskClear());
00025 }
00026 
00027 Psana::EvrData::EventCodeV4 pds_to_psana(Pds::EvrData::EventCodeV4 pds)
00028 {
00029   return Psana::EvrData::EventCodeV4(pds.code(), pds.isReadout(), pds.isTerminator(), pds.reportDelay(), pds.reportWidth(), pds.maskTrigger(), pds.maskSet(), pds.maskClear());
00030 }
00031 
00032 Psana::EvrData::EventCodeV5 pds_to_psana(Pds::EvrData::EventCodeV5 pds)
00033 {
00034   return Psana::EvrData::EventCodeV5(pds.code(), pds.isReadout(), pds.isCommand(), pds.isLatch(), pds.reportDelay(), pds.reportWidth(), pds.maskTrigger(), pds.maskSet(), pds.maskClear(), pds.desc());
00035 }
00036 
00037 Psana::EvrData::EventCodeV6 pds_to_psana(Pds::EvrData::EventCodeV6 pds)
00038 {
00039   return Psana::EvrData::EventCodeV6(pds.code(), pds.isReadout(), pds.isCommand(), pds.isLatch(), pds.reportDelay(), pds.reportWidth(), pds.maskTrigger(), pds.maskSet(), pds.maskClear(), pds.desc(), pds.readoutGroup());
00040 }
00041 
00042 Psana::EvrData::SrcEventCode pds_to_psana(Pds::EvrData::SrcEventCode pds)
00043 {
00044   return Psana::EvrData::SrcEventCode(pds.code(), pds.period(), pds.maskTriggerP(), pds.maskTriggerR(), pds.desc(), pds.readoutGroup());
00045 }
00046 
00047 Psana::EvrData::OutputMap::Source pds_to_psana(Pds::EvrData::OutputMap::Source e)
00048 {
00049   return Psana::EvrData::OutputMap::Source(e);
00050 }
00051 
00052 Psana::EvrData::OutputMap::Conn pds_to_psana(Pds::EvrData::OutputMap::Conn e)
00053 {
00054   return Psana::EvrData::OutputMap::Conn(e);
00055 }
00056 
00057 Psana::EvrData::OutputMap pds_to_psana(Pds::EvrData::OutputMap pds)
00058 {
00059   return Psana::EvrData::OutputMap(pds_to_psana(pds.source()), pds.source_id(), pds_to_psana(pds.conn()), pds.conn_id());
00060 }
00061 
00062 Psana::EvrData::OutputMapV2::Source pds_to_psana(Pds::EvrData::OutputMapV2::Source e)
00063 {
00064   return Psana::EvrData::OutputMapV2::Source(e);
00065 }
00066 
00067 Psana::EvrData::OutputMapV2::Conn pds_to_psana(Pds::EvrData::OutputMapV2::Conn e)
00068 {
00069   return Psana::EvrData::OutputMapV2::Conn(e);
00070 }
00071 
00072 Psana::EvrData::OutputMapV2 pds_to_psana(Pds::EvrData::OutputMapV2 pds)
00073 {
00074   return Psana::EvrData::OutputMapV2(pds_to_psana(pds.source()), pds.source_id(), pds_to_psana(pds.conn()), pds.conn_id(), pds.module());
00075 }
00076 
00077 ConfigV1::ConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00078   : Psana::EvrData::ConfigV1()
00079   , m_xtcObj(xtcPtr)
00080 {
00081   {
00082     typedef ndarray<Psana::EvrData::PulseConfig, 1> NDArray;
00083     typedef ndarray<const Pds::EvrData::PulseConfig, 1> XtcNDArray;
00084     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00085     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00086     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00087     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00088       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00089     }
00090   }
00091   {
00092     typedef ndarray<Psana::EvrData::OutputMap, 1> NDArray;
00093     typedef ndarray<const Pds::EvrData::OutputMap, 1> XtcNDArray;
00094     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00095     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00096     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00097     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00098       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00099     }
00100   }
00101 }
00102 ConfigV1::~ConfigV1()
00103 {
00104 }
00105 
00106 
00107 uint32_t ConfigV1::npulses() const {
00108   return m_xtcObj->npulses();
00109 }
00110 
00111 
00112 uint32_t ConfigV1::noutputs() const {
00113   return m_xtcObj->noutputs();
00114 }
00115 
00116 ndarray<const Psana::EvrData::PulseConfig, 1> ConfigV1::pulses() const { return _pulses_ndarray_storage_; }
00117 ndarray<const Psana::EvrData::OutputMap, 1> ConfigV1::output_maps() const { return _output_maps_ndarray_storage_; }
00118 Psana::EvrData::ConfigV2::RateCode pds_to_psana(Pds::EvrData::ConfigV2::RateCode e)
00119 {
00120   return Psana::EvrData::ConfigV2::RateCode(e);
00121 }
00122 
00123 Psana::EvrData::ConfigV2::BeamCode pds_to_psana(Pds::EvrData::ConfigV2::BeamCode e)
00124 {
00125   return Psana::EvrData::ConfigV2::BeamCode(e);
00126 }
00127 
00128 ConfigV2::ConfigV2(const boost::shared_ptr<const XtcType>& xtcPtr)
00129   : Psana::EvrData::ConfigV2()
00130   , m_xtcObj(xtcPtr)
00131 {
00132   {
00133     typedef ndarray<Psana::EvrData::PulseConfig, 1> NDArray;
00134     typedef ndarray<const Pds::EvrData::PulseConfig, 1> XtcNDArray;
00135     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00136     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00137     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00138     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00139       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00140     }
00141   }
00142   {
00143     typedef ndarray<Psana::EvrData::OutputMap, 1> NDArray;
00144     typedef ndarray<const Pds::EvrData::OutputMap, 1> XtcNDArray;
00145     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00146     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00147     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00148     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00149       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00150     }
00151   }
00152 }
00153 ConfigV2::~ConfigV2()
00154 {
00155 }
00156 
00157 
00158 uint32_t ConfigV2::opcode() const {
00159   return m_xtcObj->opcode();
00160 }
00161 
00162 
00163 uint32_t ConfigV2::npulses() const {
00164   return m_xtcObj->npulses();
00165 }
00166 
00167 
00168 uint32_t ConfigV2::noutputs() const {
00169   return m_xtcObj->noutputs();
00170 }
00171 
00172 ndarray<const Psana::EvrData::PulseConfig, 1> ConfigV2::pulses() const { return _pulses_ndarray_storage_; }
00173 ndarray<const Psana::EvrData::OutputMap, 1> ConfigV2::output_maps() const { return _output_maps_ndarray_storage_; }
00174 
00175 Psana::EvrData::ConfigV2::BeamCode ConfigV2::beam() const {
00176   return pds_to_psana(m_xtcObj->beam());
00177 }
00178 
00179 
00180 Psana::EvrData::ConfigV2::RateCode ConfigV2::rate() const {
00181   return pds_to_psana(m_xtcObj->rate());
00182 }
00183 
00184 ConfigV3::ConfigV3(const boost::shared_ptr<const XtcType>& xtcPtr)
00185   : Psana::EvrData::ConfigV3()
00186   , m_xtcObj(xtcPtr)
00187 {
00188   {
00189     typedef ndarray<Psana::EvrData::EventCodeV3, 1> NDArray;
00190     typedef ndarray<const Pds::EvrData::EventCodeV3, 1> XtcNDArray;
00191     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00192     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00193     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00194     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00195       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00196     }
00197   }
00198   {
00199     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00200     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00201     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00202     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00203     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00204     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00205       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00206     }
00207   }
00208   {
00209     typedef ndarray<Psana::EvrData::OutputMap, 1> NDArray;
00210     typedef ndarray<const Pds::EvrData::OutputMap, 1> XtcNDArray;
00211     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00212     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00213     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00214     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00215       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00216     }
00217   }
00218 }
00219 ConfigV3::~ConfigV3()
00220 {
00221 }
00222 
00223 
00224 uint32_t ConfigV3::neventcodes() const {
00225   return m_xtcObj->neventcodes();
00226 }
00227 
00228 
00229 uint32_t ConfigV3::npulses() const {
00230   return m_xtcObj->npulses();
00231 }
00232 
00233 
00234 uint32_t ConfigV3::noutputs() const {
00235   return m_xtcObj->noutputs();
00236 }
00237 
00238 ndarray<const Psana::EvrData::EventCodeV3, 1> ConfigV3::eventcodes() const { return _eventcodes_ndarray_storage_; }
00239 ndarray<const Psana::EvrData::PulseConfigV3, 1> ConfigV3::pulses() const { return _pulses_ndarray_storage_; }
00240 ndarray<const Psana::EvrData::OutputMap, 1> ConfigV3::output_maps() const { return _output_maps_ndarray_storage_; }
00241 ConfigV4::ConfigV4(const boost::shared_ptr<const XtcType>& xtcPtr)
00242   : Psana::EvrData::ConfigV4()
00243   , m_xtcObj(xtcPtr)
00244 {
00245   {
00246     typedef ndarray<Psana::EvrData::EventCodeV4, 1> NDArray;
00247     typedef ndarray<const Pds::EvrData::EventCodeV4, 1> XtcNDArray;
00248     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00249     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00250     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00251     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00252       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00253     }
00254   }
00255   {
00256     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00257     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00258     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00259     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00260     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00261     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00262       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00263     }
00264   }
00265   {
00266     typedef ndarray<Psana::EvrData::OutputMap, 1> NDArray;
00267     typedef ndarray<const Pds::EvrData::OutputMap, 1> XtcNDArray;
00268     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00269     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00270     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00271     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00272       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00273     }
00274   }
00275 }
00276 ConfigV4::~ConfigV4()
00277 {
00278 }
00279 
00280 
00281 uint32_t ConfigV4::neventcodes() const {
00282   return m_xtcObj->neventcodes();
00283 }
00284 
00285 
00286 uint32_t ConfigV4::npulses() const {
00287   return m_xtcObj->npulses();
00288 }
00289 
00290 
00291 uint32_t ConfigV4::noutputs() const {
00292   return m_xtcObj->noutputs();
00293 }
00294 
00295 ndarray<const Psana::EvrData::EventCodeV4, 1> ConfigV4::eventcodes() const { return _eventcodes_ndarray_storage_; }
00296 ndarray<const Psana::EvrData::PulseConfigV3, 1> ConfigV4::pulses() const { return _pulses_ndarray_storage_; }
00297 ndarray<const Psana::EvrData::OutputMap, 1> ConfigV4::output_maps() const { return _output_maps_ndarray_storage_; }
00298 Psana::EvrData::SequencerEntry pds_to_psana(Pds::EvrData::SequencerEntry pds)
00299 {
00300   return Psana::EvrData::SequencerEntry(pds.eventcode(), pds.delay());
00301 }
00302 
00303 Psana::EvrData::SequencerConfigV1::Source pds_to_psana(Pds::EvrData::SequencerConfigV1::Source e)
00304 {
00305   return Psana::EvrData::SequencerConfigV1::Source(e);
00306 }
00307 
00308 SequencerConfigV1::SequencerConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00309   : Psana::EvrData::SequencerConfigV1()
00310   , m_xtcObj(xtcPtr)
00311 {
00312   {
00313     typedef ndarray<Psana::EvrData::SequencerEntry, 1> NDArray;
00314     typedef ndarray<const Pds::EvrData::SequencerEntry, 1> XtcNDArray;
00315     const XtcNDArray& xtc_ndarr = xtcPtr->entries();
00316     _entries_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00317     NDArray::iterator out = _entries_ndarray_storage_.begin();
00318     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00319       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00320     }
00321   }
00322 }
00323 SequencerConfigV1::~SequencerConfigV1()
00324 {
00325 }
00326 
00327 
00328 Psana::EvrData::SequencerConfigV1::Source SequencerConfigV1::sync_source() const {
00329   return pds_to_psana(m_xtcObj->sync_source());
00330 }
00331 
00332 
00333 Psana::EvrData::SequencerConfigV1::Source SequencerConfigV1::beam_source() const {
00334   return pds_to_psana(m_xtcObj->beam_source());
00335 }
00336 
00337 
00338 uint32_t SequencerConfigV1::length() const {
00339   return m_xtcObj->length();
00340 }
00341 
00342 
00343 uint32_t SequencerConfigV1::cycles() const {
00344   return m_xtcObj->cycles();
00345 }
00346 
00347 ndarray<const Psana::EvrData::SequencerEntry, 1> SequencerConfigV1::entries() const { return _entries_ndarray_storage_; }
00348 ConfigV5::ConfigV5(const boost::shared_ptr<const XtcType>& xtcPtr)
00349   : Psana::EvrData::ConfigV5()
00350   , m_xtcObj(xtcPtr)
00351   , _seq_config(boost::shared_ptr<const Pds::EvrData::SequencerConfigV1>(xtcPtr, &xtcPtr->seq_config()))
00352 {
00353   {
00354     typedef ndarray<Psana::EvrData::EventCodeV5, 1> NDArray;
00355     typedef ndarray<const Pds::EvrData::EventCodeV5, 1> XtcNDArray;
00356     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00357     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00358     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00359     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00360       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00361     }
00362   }
00363   {
00364     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00365     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00366     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00367     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00368     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00369     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00370       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00371     }
00372   }
00373   {
00374     typedef ndarray<Psana::EvrData::OutputMap, 1> NDArray;
00375     typedef ndarray<const Pds::EvrData::OutputMap, 1> XtcNDArray;
00376     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00377     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00378     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00379     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00380       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00381     }
00382   }
00383 }
00384 ConfigV5::~ConfigV5()
00385 {
00386 }
00387 
00388 
00389 uint32_t ConfigV5::neventcodes() const {
00390   return m_xtcObj->neventcodes();
00391 }
00392 
00393 
00394 uint32_t ConfigV5::npulses() const {
00395   return m_xtcObj->npulses();
00396 }
00397 
00398 
00399 uint32_t ConfigV5::noutputs() const {
00400   return m_xtcObj->noutputs();
00401 }
00402 
00403 ndarray<const Psana::EvrData::EventCodeV5, 1> ConfigV5::eventcodes() const { return _eventcodes_ndarray_storage_; }
00404 ndarray<const Psana::EvrData::PulseConfigV3, 1> ConfigV5::pulses() const { return _pulses_ndarray_storage_; }
00405 ndarray<const Psana::EvrData::OutputMap, 1> ConfigV5::output_maps() const { return _output_maps_ndarray_storage_; }
00406 const Psana::EvrData::SequencerConfigV1& ConfigV5::seq_config() const { return _seq_config; }
00407 ConfigV6::ConfigV6(const boost::shared_ptr<const XtcType>& xtcPtr)
00408   : Psana::EvrData::ConfigV6()
00409   , m_xtcObj(xtcPtr)
00410   , _seq_config(boost::shared_ptr<const Pds::EvrData::SequencerConfigV1>(xtcPtr, &xtcPtr->seq_config()))
00411 {
00412   {
00413     typedef ndarray<Psana::EvrData::EventCodeV5, 1> NDArray;
00414     typedef ndarray<const Pds::EvrData::EventCodeV5, 1> XtcNDArray;
00415     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00416     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00417     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00418     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00419       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00420     }
00421   }
00422   {
00423     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00424     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00425     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00426     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00427     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00428     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00429       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00430     }
00431   }
00432   {
00433     typedef ndarray<Psana::EvrData::OutputMapV2, 1> NDArray;
00434     typedef ndarray<const Pds::EvrData::OutputMapV2, 1> XtcNDArray;
00435     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00436     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00437     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00438     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00439       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00440     }
00441   }
00442 }
00443 ConfigV6::~ConfigV6()
00444 {
00445 }
00446 
00447 
00448 uint32_t ConfigV6::neventcodes() const {
00449   return m_xtcObj->neventcodes();
00450 }
00451 
00452 
00453 uint32_t ConfigV6::npulses() const {
00454   return m_xtcObj->npulses();
00455 }
00456 
00457 
00458 uint32_t ConfigV6::noutputs() const {
00459   return m_xtcObj->noutputs();
00460 }
00461 
00462 ndarray<const Psana::EvrData::EventCodeV5, 1> ConfigV6::eventcodes() const { return _eventcodes_ndarray_storage_; }
00463 ndarray<const Psana::EvrData::PulseConfigV3, 1> ConfigV6::pulses() const { return _pulses_ndarray_storage_; }
00464 ndarray<const Psana::EvrData::OutputMapV2, 1> ConfigV6::output_maps() const { return _output_maps_ndarray_storage_; }
00465 const Psana::EvrData::SequencerConfigV1& ConfigV6::seq_config() const { return _seq_config; }
00466 ConfigV7::ConfigV7(const boost::shared_ptr<const XtcType>& xtcPtr)
00467   : Psana::EvrData::ConfigV7()
00468   , m_xtcObj(xtcPtr)
00469   , _seq_config(boost::shared_ptr<const Pds::EvrData::SequencerConfigV1>(xtcPtr, &xtcPtr->seq_config()))
00470 {
00471   {
00472     typedef ndarray<Psana::EvrData::EventCodeV6, 1> NDArray;
00473     typedef ndarray<const Pds::EvrData::EventCodeV6, 1> XtcNDArray;
00474     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00475     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00476     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00477     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00478       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00479     }
00480   }
00481   {
00482     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00483     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00484     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00485     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00486     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00487     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00488       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00489     }
00490   }
00491   {
00492     typedef ndarray<Psana::EvrData::OutputMapV2, 1> NDArray;
00493     typedef ndarray<const Pds::EvrData::OutputMapV2, 1> XtcNDArray;
00494     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00495     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00496     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00497     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00498       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00499     }
00500   }
00501 }
00502 ConfigV7::~ConfigV7()
00503 {
00504 }
00505 
00506 
00507 uint32_t ConfigV7::neventcodes() const {
00508   return m_xtcObj->neventcodes();
00509 }
00510 
00511 
00512 uint32_t ConfigV7::npulses() const {
00513   return m_xtcObj->npulses();
00514 }
00515 
00516 
00517 uint32_t ConfigV7::noutputs() const {
00518   return m_xtcObj->noutputs();
00519 }
00520 
00521 ndarray<const Psana::EvrData::EventCodeV6, 1> ConfigV7::eventcodes() const { return _eventcodes_ndarray_storage_; }
00522 ndarray<const Psana::EvrData::PulseConfigV3, 1> ConfigV7::pulses() const { return _pulses_ndarray_storage_; }
00523 ndarray<const Psana::EvrData::OutputMapV2, 1> ConfigV7::output_maps() const { return _output_maps_ndarray_storage_; }
00524 const Psana::EvrData::SequencerConfigV1& ConfigV7::seq_config() const { return _seq_config; }
00525 SrcConfigV1::SrcConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00526   : Psana::EvrData::SrcConfigV1()
00527   , m_xtcObj(xtcPtr)
00528 {
00529   {
00530     typedef ndarray<Psana::EvrData::SrcEventCode, 1> NDArray;
00531     typedef ndarray<const Pds::EvrData::SrcEventCode, 1> XtcNDArray;
00532     const XtcNDArray& xtc_ndarr = xtcPtr->eventcodes();
00533     _eventcodes_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00534     NDArray::iterator out = _eventcodes_ndarray_storage_.begin();
00535     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00536       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00537     }
00538   }
00539   {
00540     typedef ndarray<Psana::EvrData::PulseConfigV3, 1> NDArray;
00541     typedef ndarray<const Pds::EvrData::PulseConfigV3, 1> XtcNDArray;
00542     const XtcNDArray& xtc_ndarr = xtcPtr->pulses();
00543     _pulses_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00544     NDArray::iterator out = _pulses_ndarray_storage_.begin();
00545     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00546       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00547     }
00548   }
00549   {
00550     typedef ndarray<Psana::EvrData::OutputMapV2, 1> NDArray;
00551     typedef ndarray<const Pds::EvrData::OutputMapV2, 1> XtcNDArray;
00552     const XtcNDArray& xtc_ndarr = xtcPtr->output_maps();
00553     _output_maps_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00554     NDArray::iterator out = _output_maps_ndarray_storage_.begin();
00555     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00556       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00557     }
00558   }
00559 }
00560 SrcConfigV1::~SrcConfigV1()
00561 {
00562 }
00563 
00564 
00565 uint32_t SrcConfigV1::neventcodes() const {
00566   return m_xtcObj->neventcodes();
00567 }
00568 
00569 
00570 uint32_t SrcConfigV1::npulses() const {
00571   return m_xtcObj->npulses();
00572 }
00573 
00574 
00575 uint32_t SrcConfigV1::noutputs() const {
00576   return m_xtcObj->noutputs();
00577 }
00578 
00579 ndarray<const Psana::EvrData::SrcEventCode, 1> SrcConfigV1::eventcodes() const { return _eventcodes_ndarray_storage_; }
00580 ndarray<const Psana::EvrData::PulseConfigV3, 1> SrcConfigV1::pulses() const { return _pulses_ndarray_storage_; }
00581 ndarray<const Psana::EvrData::OutputMapV2, 1> SrcConfigV1::output_maps() const { return _output_maps_ndarray_storage_; }
00582 Psana::EvrData::FIFOEvent pds_to_psana(Pds::EvrData::FIFOEvent pds)
00583 {
00584   return Psana::EvrData::FIFOEvent(pds.timestampHigh(), pds.timestampLow(), pds.eventCode());
00585 }
00586 
00587 DataV3::DataV3(const boost::shared_ptr<const XtcType>& xtcPtr)
00588   : Psana::EvrData::DataV3()
00589   , m_xtcObj(xtcPtr)
00590 {
00591   {
00592     typedef ndarray<Psana::EvrData::FIFOEvent, 1> NDArray;
00593     typedef ndarray<const Pds::EvrData::FIFOEvent, 1> XtcNDArray;
00594     const XtcNDArray& xtc_ndarr = xtcPtr->fifoEvents();
00595     _fifoEvents_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00596     NDArray::iterator out = _fifoEvents_ndarray_storage_.begin();
00597     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00598       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00599     }
00600   }
00601 }
00602 DataV3::~DataV3()
00603 {
00604 }
00605 
00606 
00607 uint32_t DataV3::numFifoEvents() const {
00608   return m_xtcObj->numFifoEvents();
00609 }
00610 
00611 ndarray<const Psana::EvrData::FIFOEvent, 1> DataV3::fifoEvents() const { return _fifoEvents_ndarray_storage_; }
00612 DataV4::DataV4(const boost::shared_ptr<const XtcType>& xtcPtr)
00613   : Psana::EvrData::DataV4()
00614   , m_xtcObj(xtcPtr)
00615 {
00616   {
00617     typedef ndarray<Psana::EvrData::FIFOEvent, 1> NDArray;
00618     typedef ndarray<const Pds::EvrData::FIFOEvent, 1> XtcNDArray;
00619     const XtcNDArray& xtc_ndarr = xtcPtr->fifoEvents();
00620     _fifoEvents_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00621     NDArray::iterator out = _fifoEvents_ndarray_storage_.begin();
00622     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00623       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00624     }
00625   }
00626 }
00627 DataV4::~DataV4()
00628 {
00629 }
00630 
00631 
00632 uint32_t DataV4::numFifoEvents() const {
00633   return m_xtcObj->numFifoEvents();
00634 }
00635 
00636 ndarray<const Psana::EvrData::FIFOEvent, 1> DataV4::fifoEvents() const { return _fifoEvents_ndarray_storage_; }
00637 
00638 uint8_t DataV4::present(uint8_t opcode) const {
00639   return m_xtcObj->present(opcode);
00640 }
00641 
00642 Psana::EvrData::IOChannel pds_to_psana(Pds::EvrData::IOChannel pds)
00643 {
00644   return Psana::EvrData::IOChannel(pds.name(), pds.ninfo(), pds.infos().data());
00645 }
00646 
00647 IOConfigV1::IOConfigV1(const boost::shared_ptr<const XtcType>& xtcPtr)
00648   : Psana::EvrData::IOConfigV1()
00649   , m_xtcObj(xtcPtr)
00650 {
00651   {
00652     typedef ndarray<Psana::EvrData::IOChannel, 1> NDArray;
00653     typedef ndarray<const Pds::EvrData::IOChannel, 1> XtcNDArray;
00654     const XtcNDArray& xtc_ndarr = xtcPtr->channels();
00655     _channels_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00656     NDArray::iterator out = _channels_ndarray_storage_.begin();
00657     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00658       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00659     }
00660   }
00661 }
00662 IOConfigV1::~IOConfigV1()
00663 {
00664 }
00665 
00666 
00667 uint16_t IOConfigV1::nchannels() const {
00668   return m_xtcObj->nchannels();
00669 }
00670 
00671 ndarray<const Psana::EvrData::IOChannel, 1> IOConfigV1::channels() const { return _channels_ndarray_storage_; }
00672 
00673 Psana::EvrData::OutputMap::Conn IOConfigV1::conn() const {
00674   return pds_to_psana(m_xtcObj->conn());
00675 }
00676 
00677 Psana::EvrData::IOChannelV2 pds_to_psana(Pds::EvrData::IOChannelV2 pds)
00678 {
00679   return Psana::EvrData::IOChannelV2(pds_to_psana(pds.output()), pds.name(), pds.ninfo(), pds.infos().data());
00680 }
00681 
00682 IOConfigV2::IOConfigV2(const boost::shared_ptr<const XtcType>& xtcPtr)
00683   : Psana::EvrData::IOConfigV2()
00684   , m_xtcObj(xtcPtr)
00685 {
00686   {
00687     typedef ndarray<Psana::EvrData::IOChannelV2, 1> NDArray;
00688     typedef ndarray<const Pds::EvrData::IOChannelV2, 1> XtcNDArray;
00689     const XtcNDArray& xtc_ndarr = xtcPtr->channels();
00690     _channels_ndarray_storage_ = NDArray(xtc_ndarr.shape());
00691     NDArray::iterator out = _channels_ndarray_storage_.begin();
00692     for (XtcNDArray::iterator it = xtc_ndarr.begin(); it != xtc_ndarr.end(); ++ it, ++ out) {
00693       *out = psddl_pds2psana::EvrData::pds_to_psana(*it);
00694     }
00695   }
00696 }
00697 IOConfigV2::~IOConfigV2()
00698 {
00699 }
00700 
00701 
00702 uint32_t IOConfigV2::nchannels() const {
00703   return m_xtcObj->nchannels();
00704 }
00705 
00706 ndarray<const Psana::EvrData::IOChannelV2, 1> IOConfigV2::channels() const { return _channels_ndarray_storage_; }
00707 } // namespace EvrData
00708 } // namespace psddl_pds2psana

Generated on 19 Dec 2016 for PSDMSoftware by  doxygen 1.4.7