00001
00002
00003
00004 #include <cstddef>
00005 #include "psddl_psana/evr.ddl.h"
00006 #include <iostream>
00007 namespace Psana {
00008 namespace EvrData {
00009 int16_t
00010 PulseConfig::trigger() const {
00011 return this->bf_trigger()-1;
00012 }
00013 int16_t
00014 PulseConfig::set() const {
00015 return this->bf_set()-1;
00016 }
00017 int16_t
00018 PulseConfig::clear() const {
00019 return this->bf_clear()-1;
00020 }
00021 std::vector<int>
00022 EventCodeV5::desc_shape() const {
00023 std::vector<int> shape;
00024 shape.reserve(1);
00025 shape.push_back(DescSize);
00026 return shape;
00027 }
00028 std::vector<int>
00029 EventCodeV6::desc_shape() const {
00030 std::vector<int> shape;
00031 shape.reserve(1);
00032 shape.push_back(DescSize);
00033 return shape;
00034 }
00035 std::vector<int>
00036 SrcEventCode::desc_shape() const {
00037 std::vector<int> shape;
00038 shape.reserve(1);
00039 shape.push_back(DescSize);
00040 return shape;
00041 }
00042 uint32_t
00043 OutputMap::map() const {
00044
00045 enum { Pulse_Offset=0, DBus_Offset=32, Prescaler_Offset=40 };
00046 unsigned src_id = source_id();
00047 switch(source()) {
00048 case Pulse : return src_id + Pulse_Offset;
00049 case DBus : return src_id + DBus_Offset;
00050 case Prescaler : return src_id + Prescaler_Offset;
00051 case Force_High: return 62;
00052 case Force_Low : return 63;
00053 }
00054 return 0;
00055
00056 }
00057 std::ostream& operator<<(std::ostream& str, EvrData::OutputMap::Source enval) {
00058 const char* val;
00059 switch (enval) {
00060 case EvrData::OutputMap::Pulse:
00061 val = "Pulse";
00062 break;
00063 case EvrData::OutputMap::DBus:
00064 val = "DBus";
00065 break;
00066 case EvrData::OutputMap::Prescaler:
00067 val = "Prescaler";
00068 break;
00069 case EvrData::OutputMap::Force_High:
00070 val = "Force_High";
00071 break;
00072 case EvrData::OutputMap::Force_Low:
00073 val = "Force_Low";
00074 break;
00075 default:
00076 return str << "Source(" << int(enval) << ")";
00077 }
00078 return str << val;
00079 }
00080 std::ostream& operator<<(std::ostream& str, EvrData::OutputMap::Conn enval) {
00081 const char* val;
00082 switch (enval) {
00083 case EvrData::OutputMap::FrontPanel:
00084 val = "FrontPanel";
00085 break;
00086 case EvrData::OutputMap::UnivIO:
00087 val = "UnivIO";
00088 break;
00089 default:
00090 return str << "Conn(" << int(enval) << ")";
00091 }
00092 return str << val;
00093 }
00094 uint32_t
00095 OutputMapV2::map() const {
00096
00097 enum { Pulse_Offset=0, DBus_Offset=32, Prescaler_Offset=40 };
00098 unsigned src_id = source_id();
00099 switch(source()) {
00100 case Pulse : return src_id + Pulse_Offset;
00101 case DBus : return src_id + DBus_Offset;
00102 case Prescaler : return src_id + Prescaler_Offset;
00103 case Force_High: return 62;
00104 case Force_Low : return 63;
00105 }
00106 return 0;
00107
00108 }
00109 std::ostream& operator<<(std::ostream& str, EvrData::OutputMapV2::Source enval) {
00110 const char* val;
00111 switch (enval) {
00112 case EvrData::OutputMapV2::Pulse:
00113 val = "Pulse";
00114 break;
00115 case EvrData::OutputMapV2::DBus:
00116 val = "DBus";
00117 break;
00118 case EvrData::OutputMapV2::Prescaler:
00119 val = "Prescaler";
00120 break;
00121 case EvrData::OutputMapV2::Force_High:
00122 val = "Force_High";
00123 break;
00124 case EvrData::OutputMapV2::Force_Low:
00125 val = "Force_Low";
00126 break;
00127 default:
00128 return str << "Source(" << int(enval) << ")";
00129 }
00130 return str << val;
00131 }
00132 std::ostream& operator<<(std::ostream& str, EvrData::OutputMapV2::Conn enval) {
00133 const char* val;
00134 switch (enval) {
00135 case EvrData::OutputMapV2::FrontPanel:
00136 val = "FrontPanel";
00137 break;
00138 case EvrData::OutputMapV2::UnivIO:
00139 val = "UnivIO";
00140 break;
00141 default:
00142 return str << "Conn(" << int(enval) << ")";
00143 }
00144 return str << val;
00145 }
00146
00147 ConfigV1::~ConfigV1() {}
00148
00149
00150 ConfigV2::~ConfigV2() {}
00151
00152 std::ostream& operator<<(std::ostream& str, EvrData::ConfigV2::RateCode enval) {
00153 const char* val;
00154 switch (enval) {
00155 case EvrData::ConfigV2::r120Hz:
00156 val = "r120Hz";
00157 break;
00158 case EvrData::ConfigV2::r60Hz:
00159 val = "r60Hz";
00160 break;
00161 case EvrData::ConfigV2::r30Hz:
00162 val = "r30Hz";
00163 break;
00164 case EvrData::ConfigV2::r10Hz:
00165 val = "r10Hz";
00166 break;
00167 case EvrData::ConfigV2::r5Hz:
00168 val = "r5Hz";
00169 break;
00170 case EvrData::ConfigV2::r1Hz:
00171 val = "r1Hz";
00172 break;
00173 case EvrData::ConfigV2::r0_5Hz:
00174 val = "r0_5Hz";
00175 break;
00176 case EvrData::ConfigV2::Single:
00177 val = "Single";
00178 break;
00179 case EvrData::ConfigV2::NumberOfRates:
00180 val = "NumberOfRates";
00181 break;
00182 default:
00183 return str << "RateCode(" << int(enval) << ")";
00184 }
00185 return str << val;
00186 }
00187 std::ostream& operator<<(std::ostream& str, EvrData::ConfigV2::BeamCode enval) {
00188 const char* val;
00189 switch (enval) {
00190 case EvrData::ConfigV2::Off:
00191 val = "Off";
00192 break;
00193 case EvrData::ConfigV2::On:
00194 val = "On";
00195 break;
00196 default:
00197 return str << "BeamCode(" << int(enval) << ")";
00198 }
00199 return str << val;
00200 }
00201
00202 ConfigV3::~ConfigV3() {}
00203
00204
00205 ConfigV4::~ConfigV4() {}
00206
00207
00208 SequencerConfigV1::~SequencerConfigV1() {}
00209
00210 std::ostream& operator<<(std::ostream& str, EvrData::SequencerConfigV1::Source enval) {
00211 const char* val;
00212 switch (enval) {
00213 case EvrData::SequencerConfigV1::r120Hz:
00214 val = "r120Hz";
00215 break;
00216 case EvrData::SequencerConfigV1::r60Hz:
00217 val = "r60Hz";
00218 break;
00219 case EvrData::SequencerConfigV1::r30Hz:
00220 val = "r30Hz";
00221 break;
00222 case EvrData::SequencerConfigV1::r10Hz:
00223 val = "r10Hz";
00224 break;
00225 case EvrData::SequencerConfigV1::r5Hz:
00226 val = "r5Hz";
00227 break;
00228 case EvrData::SequencerConfigV1::r1Hz:
00229 val = "r1Hz";
00230 break;
00231 case EvrData::SequencerConfigV1::r0_5Hz:
00232 val = "r0_5Hz";
00233 break;
00234 case EvrData::SequencerConfigV1::Disable:
00235 val = "Disable";
00236 break;
00237 default:
00238 return str << "Source(" << int(enval) << ")";
00239 }
00240 return str << val;
00241 }
00242
00243 ConfigV5::~ConfigV5() {}
00244
00245
00246 ConfigV6::~ConfigV6() {}
00247
00248
00249 ConfigV7::~ConfigV7() {}
00250
00251
00252 SrcConfigV1::~SrcConfigV1() {}
00253
00254
00255 DataV3::~DataV3() {}
00256
00257
00258 DataV4::~DataV4() {}
00259
00260 std::vector<int>
00261 IOChannel::name_shape() const {
00262 std::vector<int> shape;
00263 shape.reserve(1);
00264 shape.push_back(NameLength);
00265 return shape;
00266 }
00267
00268 IOConfigV1::~IOConfigV1() {}
00269
00270 std::vector<int>
00271 IOChannelV2::name_shape() const {
00272 std::vector<int> shape;
00273 shape.reserve(1);
00274 shape.push_back(NameLength);
00275 return shape;
00276 }
00277
00278 IOConfigV2::~IOConfigV2() {}
00279
00280 }
00281 }