00001
00002
00003
00004 #include <cstddef>
00005 #include "psddl_psana/acqiris.ddl.h"
00006 #include <iostream>
00007 namespace Psana {
00008 namespace Acqiris {
00009 double
00010 VertV1::slope() const {
00011
00012 return this->fullScale() / ((1 << Acqiris::DataDescV1Elem::NumberOfBits)*(1 << Acqiris::DataDescV1Elem::BitShift));
00013
00014 }
00015 std::ostream& operator<<(std::ostream& str, Acqiris::VertV1::Coupling enval) {
00016 const char* val;
00017 switch (enval) {
00018 case Acqiris::VertV1::GND:
00019 val = "GND";
00020 break;
00021 case Acqiris::VertV1::DC:
00022 val = "DC";
00023 break;
00024 case Acqiris::VertV1::AC:
00025 val = "AC";
00026 break;
00027 case Acqiris::VertV1::DC50ohm:
00028 val = "DC50ohm";
00029 break;
00030 case Acqiris::VertV1::AC50ohm:
00031 val = "AC50ohm";
00032 break;
00033 default:
00034 return str << "Coupling(" << int(enval) << ")";
00035 }
00036 return str << val;
00037 }
00038 std::ostream& operator<<(std::ostream& str, Acqiris::VertV1::Bandwidth enval) {
00039 const char* val;
00040 switch (enval) {
00041 case Acqiris::VertV1::None:
00042 val = "None";
00043 break;
00044 case Acqiris::VertV1::MHz25:
00045 val = "MHz25";
00046 break;
00047 case Acqiris::VertV1::MHz700:
00048 val = "MHz700";
00049 break;
00050 case Acqiris::VertV1::MHz200:
00051 val = "MHz200";
00052 break;
00053 case Acqiris::VertV1::MHz20:
00054 val = "MHz20";
00055 break;
00056 case Acqiris::VertV1::MHz35:
00057 val = "MHz35";
00058 break;
00059 default:
00060 return str << "Bandwidth(" << int(enval) << ")";
00061 }
00062 return str << val;
00063 }
00064 std::ostream& operator<<(std::ostream& str, Acqiris::TrigV1::Source enval) {
00065 const char* val;
00066 switch (enval) {
00067 case Acqiris::TrigV1::Internal:
00068 val = "Internal";
00069 break;
00070 case Acqiris::TrigV1::External:
00071 val = "External";
00072 break;
00073 default:
00074 return str << "Source(" << int(enval) << ")";
00075 }
00076 return str << val;
00077 }
00078 std::ostream& operator<<(std::ostream& str, Acqiris::TrigV1::Coupling enval) {
00079 const char* val;
00080 switch (enval) {
00081 case Acqiris::TrigV1::DC:
00082 val = "DC";
00083 break;
00084 case Acqiris::TrigV1::AC:
00085 val = "AC";
00086 break;
00087 case Acqiris::TrigV1::HFreject:
00088 val = "HFreject";
00089 break;
00090 case Acqiris::TrigV1::DC50ohm:
00091 val = "DC50ohm";
00092 break;
00093 case Acqiris::TrigV1::AC50ohm:
00094 val = "AC50ohm";
00095 break;
00096 default:
00097 return str << "Coupling(" << int(enval) << ")";
00098 }
00099 return str << val;
00100 }
00101 std::ostream& operator<<(std::ostream& str, Acqiris::TrigV1::Slope enval) {
00102 const char* val;
00103 switch (enval) {
00104 case Acqiris::TrigV1::Positive:
00105 val = "Positive";
00106 break;
00107 case Acqiris::TrigV1::Negative:
00108 val = "Negative";
00109 break;
00110 case Acqiris::TrigV1::OutOfWindow:
00111 val = "OutOfWindow";
00112 break;
00113 case Acqiris::TrigV1::IntoWindow:
00114 val = "IntoWindow";
00115 break;
00116 case Acqiris::TrigV1::HFDivide:
00117 val = "HFDivide";
00118 break;
00119 case Acqiris::TrigV1::SpikeStretcher:
00120 val = "SpikeStretcher";
00121 break;
00122 default:
00123 return str << "Slope(" << int(enval) << ")";
00124 }
00125 return str << val;
00126 }
00127
00128 ConfigV1::~ConfigV1() {}
00129
00130 uint64_t
00131 TimestampV1::value() const {
00132 return (((uint64_t)this->_timeStampHi)<<32) + this->_timeStampLo;
00133 }
00134
00135 DataDescV1Elem::~DataDescV1Elem() {}
00136
00137
00138 DataDescV1::~DataDescV1() {}
00139
00140 std::ostream& operator<<(std::ostream& str, Acqiris::TdcChannel::Channel enval) {
00141 const char* val;
00142 switch (enval) {
00143 case Acqiris::TdcChannel::Veto:
00144 val = "Veto";
00145 break;
00146 case Acqiris::TdcChannel::Common:
00147 val = "Common";
00148 break;
00149 case Acqiris::TdcChannel::Input1:
00150 val = "Input1";
00151 break;
00152 case Acqiris::TdcChannel::Input2:
00153 val = "Input2";
00154 break;
00155 case Acqiris::TdcChannel::Input3:
00156 val = "Input3";
00157 break;
00158 case Acqiris::TdcChannel::Input4:
00159 val = "Input4";
00160 break;
00161 case Acqiris::TdcChannel::Input5:
00162 val = "Input5";
00163 break;
00164 case Acqiris::TdcChannel::Input6:
00165 val = "Input6";
00166 break;
00167 default:
00168 return str << "Channel(" << int(enval) << ")";
00169 }
00170 return str << val;
00171 }
00172 std::ostream& operator<<(std::ostream& str, Acqiris::TdcChannel::Mode enval) {
00173 const char* val;
00174 switch (enval) {
00175 case Acqiris::TdcChannel::Active:
00176 val = "Active";
00177 break;
00178 case Acqiris::TdcChannel::Inactive:
00179 val = "Inactive";
00180 break;
00181 default:
00182 return str << "Mode(" << int(enval) << ")";
00183 }
00184 return str << val;
00185 }
00186 std::ostream& operator<<(std::ostream& str, Acqiris::TdcChannel::Slope enval) {
00187 const char* val;
00188 switch (enval) {
00189 case Acqiris::TdcChannel::Positive:
00190 val = "Positive";
00191 break;
00192 case Acqiris::TdcChannel::Negative:
00193 val = "Negative";
00194 break;
00195 default:
00196 return str << "Slope(" << int(enval) << ")";
00197 }
00198 return str << val;
00199 }
00200 std::ostream& operator<<(std::ostream& str, Acqiris::TdcAuxIO::Channel enval) {
00201 const char* val;
00202 switch (enval) {
00203 case Acqiris::TdcAuxIO::IOAux1:
00204 val = "IOAux1";
00205 break;
00206 case Acqiris::TdcAuxIO::IOAux2:
00207 val = "IOAux2";
00208 break;
00209 default:
00210 return str << "Channel(" << int(enval) << ")";
00211 }
00212 return str << val;
00213 }
00214 std::ostream& operator<<(std::ostream& str, Acqiris::TdcAuxIO::Mode enval) {
00215 const char* val;
00216 switch (enval) {
00217 case Acqiris::TdcAuxIO::BankSwitch:
00218 val = "BankSwitch";
00219 break;
00220 case Acqiris::TdcAuxIO::Marker:
00221 val = "Marker";
00222 break;
00223 case Acqiris::TdcAuxIO::OutputLo:
00224 val = "OutputLo";
00225 break;
00226 case Acqiris::TdcAuxIO::OutputHi:
00227 val = "OutputHi";
00228 break;
00229 default:
00230 return str << "Mode(" << int(enval) << ")";
00231 }
00232 return str << val;
00233 }
00234 std::ostream& operator<<(std::ostream& str, Acqiris::TdcAuxIO::Termination enval) {
00235 const char* val;
00236 switch (enval) {
00237 case Acqiris::TdcAuxIO::ZHigh:
00238 val = "ZHigh";
00239 break;
00240 case Acqiris::TdcAuxIO::Z50:
00241 val = "Z50";
00242 break;
00243 default:
00244 return str << "Termination(" << int(enval) << ")";
00245 }
00246 return str << val;
00247 }
00248 std::ostream& operator<<(std::ostream& str, Acqiris::TdcVetoIO::Channel enval) {
00249 const char* val;
00250 switch (enval) {
00251 case Acqiris::TdcVetoIO::ChVeto:
00252 val = "ChVeto";
00253 break;
00254 default:
00255 return str << "Channel(" << int(enval) << ")";
00256 }
00257 return str << val;
00258 }
00259 std::ostream& operator<<(std::ostream& str, Acqiris::TdcVetoIO::Mode enval) {
00260 const char* val;
00261 switch (enval) {
00262 case Acqiris::TdcVetoIO::Veto:
00263 val = "Veto";
00264 break;
00265 case Acqiris::TdcVetoIO::SwitchVeto:
00266 val = "SwitchVeto";
00267 break;
00268 case Acqiris::TdcVetoIO::InvertedVeto:
00269 val = "InvertedVeto";
00270 break;
00271 case Acqiris::TdcVetoIO::InvertedSwitchVeto:
00272 val = "InvertedSwitchVeto";
00273 break;
00274 default:
00275 return str << "Mode(" << int(enval) << ")";
00276 }
00277 return str << val;
00278 }
00279 std::ostream& operator<<(std::ostream& str, Acqiris::TdcVetoIO::Termination enval) {
00280 const char* val;
00281 switch (enval) {
00282 case Acqiris::TdcVetoIO::ZHigh:
00283 val = "ZHigh";
00284 break;
00285 case Acqiris::TdcVetoIO::Z50:
00286 val = "Z50";
00287 break;
00288 default:
00289 return str << "Termination(" << int(enval) << ")";
00290 }
00291 return str << val;
00292 }
00293
00294 TdcConfigV1::~TdcConfigV1() {}
00295
00296 std::ostream& operator<<(std::ostream& str, Acqiris::TdcDataV1_Item::Source enval) {
00297 const char* val;
00298 switch (enval) {
00299 case Acqiris::TdcDataV1_Item::Comm:
00300 val = "Comm";
00301 break;
00302 case Acqiris::TdcDataV1_Item::Chan1:
00303 val = "Chan1";
00304 break;
00305 case Acqiris::TdcDataV1_Item::Chan2:
00306 val = "Chan2";
00307 break;
00308 case Acqiris::TdcDataV1_Item::Chan3:
00309 val = "Chan3";
00310 break;
00311 case Acqiris::TdcDataV1_Item::Chan4:
00312 val = "Chan4";
00313 break;
00314 case Acqiris::TdcDataV1_Item::Chan5:
00315 val = "Chan5";
00316 break;
00317 case Acqiris::TdcDataV1_Item::Chan6:
00318 val = "Chan6";
00319 break;
00320 case Acqiris::TdcDataV1_Item::AuxIO:
00321 val = "AuxIO";
00322 break;
00323 default:
00324 return str << "Source(" << int(enval) << ")";
00325 }
00326 return str << val;
00327 }
00328 uint32_t
00329 TdcDataV1Common::nhits() const {
00330 return this->bf_val_();
00331 }
00332 uint8_t
00333 TdcDataV1Common::overflow() const {
00334 return this->bf_ofv_();
00335 }
00336 uint32_t
00337 TdcDataV1Channel::ticks() const {
00338 return this->bf_val_();
00339 }
00340 uint8_t
00341 TdcDataV1Channel::overflow() const {
00342 return this->bf_ofv_();
00343 }
00344 double
00345 TdcDataV1Channel::time() const {
00346 return this->bf_val_() * 50e-12;
00347 }
00348 Acqiris::TdcDataV1Marker::Type
00349 TdcDataV1Marker::type() const {
00350 return Type(this->bf_val_());
00351 }
00352 std::ostream& operator<<(std::ostream& str, Acqiris::TdcDataV1Marker::Type enval) {
00353 const char* val;
00354 switch (enval) {
00355 case Acqiris::TdcDataV1Marker::AuxIOSwitch:
00356 val = "AuxIOSwitch";
00357 break;
00358 case Acqiris::TdcDataV1Marker::EventCntSwitch:
00359 val = "EventCntSwitch";
00360 break;
00361 case Acqiris::TdcDataV1Marker::MemFullSwitch:
00362 val = "MemFullSwitch";
00363 break;
00364 case Acqiris::TdcDataV1Marker::AuxIOMarker:
00365 val = "AuxIOMarker";
00366 break;
00367 default:
00368 return str << "Type(" << int(enval) << ")";
00369 }
00370 return str << val;
00371 }
00372
00373 TdcDataV1::~TdcDataV1() {}
00374
00375 }
00376 }