00001 #ifndef PSANA_BLD_DDL_H
00002 #define PSANA_BLD_DDL_H 1
00003
00004
00005
00006 #include <vector>
00007 #include <iosfwd>
00008 #include <cstring>
00009 #include "ndarray/ndarray.h"
00010 #include "pdsdata/xtc/TypeId.hh"
00011 #include "psddl_psana/acqiris.ddl.h"
00012 #include "psddl_psana/camera.ddl.h"
00013 #include "psddl_psana/ipimb.ddl.h"
00014 #include "psddl_psana/lusi.ddl.h"
00015 #include "psddl_psana/pulnix.ddl.h"
00016 #include "psddl_psana/usdusb.ddl.h"
00017 namespace Psana {
00018 namespace Bld {
00019
00020
00021
00022
00023
00024
00025
00026
00027 class BldDataFEEGasDetEnergy {
00028 public:
00029 enum { TypeId = Pds::TypeId::Id_FEEGasDetEnergy };
00030 enum { Version = 0 };
00031 BldDataFEEGasDetEnergy(double arg__f_11_ENRC, double arg__f_12_ENRC, double arg__f_21_ENRC, double arg__f_22_ENRC)
00032 : _f_11_ENRC(arg__f_11_ENRC), _f_12_ENRC(arg__f_12_ENRC), _f_21_ENRC(arg__f_21_ENRC), _f_22_ENRC(arg__f_22_ENRC)
00033 {
00034 }
00035 BldDataFEEGasDetEnergy() {}
00036
00037 double f_11_ENRC() const { return _f_11_ENRC; }
00038
00039 double f_12_ENRC() const { return _f_12_ENRC; }
00040
00041 double f_21_ENRC() const { return _f_21_ENRC; }
00042
00043 double f_22_ENRC() const { return _f_22_ENRC; }
00044 static uint32_t _sizeof() { return 32; }
00045 private:
00046 double _f_11_ENRC;
00047 double _f_12_ENRC;
00048 double _f_21_ENRC;
00049 double _f_22_ENRC;
00050 };
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 class BldDataFEEGasDetEnergyV1 {
00070 public:
00071 enum { TypeId = Pds::TypeId::Id_FEEGasDetEnergy };
00072 enum { Version = 1 };
00073 BldDataFEEGasDetEnergyV1(double arg__f_11_ENRC, double arg__f_12_ENRC, double arg__f_21_ENRC, double arg__f_22_ENRC, double arg__f_63_ENRC, double arg__f_64_ENRC)
00074 : _f_11_ENRC(arg__f_11_ENRC), _f_12_ENRC(arg__f_12_ENRC), _f_21_ENRC(arg__f_21_ENRC), _f_22_ENRC(arg__f_22_ENRC), _f_63_ENRC(arg__f_63_ENRC), _f_64_ENRC(arg__f_64_ENRC)
00075 {
00076 }
00077 BldDataFEEGasDetEnergyV1() {}
00078
00079 double f_11_ENRC() const { return _f_11_ENRC; }
00080
00081 double f_12_ENRC() const { return _f_12_ENRC; }
00082
00083 double f_21_ENRC() const { return _f_21_ENRC; }
00084
00085 double f_22_ENRC() const { return _f_22_ENRC; }
00086
00087 double f_63_ENRC() const { return _f_63_ENRC; }
00088
00089 double f_64_ENRC() const { return _f_64_ENRC; }
00090 static uint32_t _sizeof() { return 48; }
00091 private:
00092 double _f_11_ENRC;
00093 double _f_12_ENRC;
00094 double _f_21_ENRC;
00095 double _f_22_ENRC;
00096 double _f_63_ENRC;
00097 double _f_64_ENRC;
00098 };
00099
00100
00101
00102
00103
00104
00105
00106 class BldDataEBeamV0 {
00107 public:
00108 enum { TypeId = Pds::TypeId::Id_EBeam };
00109 enum { Version = 0 };
00110
00111
00112 enum DamageMask {
00113 EbeamChargeDamage = 0x001,
00114 EbeamL3EnergyDamage = 0x002,
00115 EbeamLTUPosXDamage = 0x004,
00116 EbeamLTUPosYDamage = 0x008,
00117 EbeamLTUAngXDamage = 0x010,
00118 EbeamLTUAngYDamage = 0x020,
00119 };
00120 BldDataEBeamV0(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY)
00121 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY)
00122 {
00123 }
00124 BldDataEBeamV0() {}
00125
00126 uint32_t damageMask() const { return _uDamageMask; }
00127
00128 double ebeamCharge() const { return _fEbeamCharge; }
00129
00130 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00131
00132 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00133
00134 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00135
00136 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00137
00138 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00139 static uint32_t _sizeof() { return 52; }
00140 private:
00141 uint32_t _uDamageMask;
00142 double _fEbeamCharge;
00143 double _fEbeamL3Energy;
00144 double _fEbeamLTUPosX;
00145 double _fEbeamLTUPosY;
00146 double _fEbeamLTUAngX;
00147 double _fEbeamLTUAngY;
00148 };
00149 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV0::DamageMask enval);
00150
00151
00152
00153
00154
00155
00156
00157 class BldDataEBeamV1 {
00158 public:
00159 enum { TypeId = Pds::TypeId::Id_EBeam };
00160 enum { Version = 1 };
00161
00162
00163 enum DamageMask {
00164 EbeamChargeDamage = 0x001,
00165 EbeamL3EnergyDamage = 0x002,
00166 EbeamLTUPosXDamage = 0x004,
00167 EbeamLTUPosYDamage = 0x008,
00168 EbeamLTUAngXDamage = 0x010,
00169 EbeamLTUAngYDamage = 0x020,
00170 EbeamPkCurrBC2Damage = 0x040,
00171 };
00172 BldDataEBeamV1(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2)
00173 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2)
00174 {
00175 }
00176 BldDataEBeamV1() {}
00177
00178 uint32_t damageMask() const { return _uDamageMask; }
00179
00180 double ebeamCharge() const { return _fEbeamCharge; }
00181
00182 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00183
00184 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00185
00186 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00187
00188 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00189
00190 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00191
00192 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00193 static uint32_t _sizeof() { return 60; }
00194 private:
00195 uint32_t _uDamageMask;
00196 double _fEbeamCharge;
00197 double _fEbeamL3Energy;
00198 double _fEbeamLTUPosX;
00199 double _fEbeamLTUPosY;
00200 double _fEbeamLTUAngX;
00201 double _fEbeamLTUAngY;
00202 double _fEbeamPkCurrBC2;
00203 };
00204 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV1::DamageMask enval);
00205
00206
00207
00208
00209
00210
00211
00212 class BldDataEBeamV2 {
00213 public:
00214 enum { TypeId = Pds::TypeId::Id_EBeam };
00215 enum { Version = 2 };
00216
00217
00218 enum DamageMask {
00219 EbeamChargeDamage = 0x001,
00220 EbeamL3EnergyDamage = 0x002,
00221 EbeamLTUPosXDamage = 0x004,
00222 EbeamLTUPosYDamage = 0x008,
00223 EbeamLTUAngXDamage = 0x010,
00224 EbeamLTUAngYDamage = 0x020,
00225 EbeamPkCurrBC2Damage = 0x040,
00226 EbeamEnergyBC2Damage = 0x080,
00227 };
00228 BldDataEBeamV2(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2)
00229 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2)
00230 {
00231 }
00232 BldDataEBeamV2() {}
00233
00234 uint32_t damageMask() const { return _uDamageMask; }
00235
00236 double ebeamCharge() const { return _fEbeamCharge; }
00237
00238 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00239
00240 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00241
00242 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00243
00244 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00245
00246 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00247
00248 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00249
00250 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00251 static uint32_t _sizeof() { return 68; }
00252 private:
00253 uint32_t _uDamageMask;
00254 double _fEbeamCharge;
00255 double _fEbeamL3Energy;
00256 double _fEbeamLTUPosX;
00257 double _fEbeamLTUPosY;
00258 double _fEbeamLTUAngX;
00259 double _fEbeamLTUAngY;
00260 double _fEbeamPkCurrBC2;
00261 double _fEbeamEnergyBC2;
00262 };
00263 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV2::DamageMask enval);
00264
00265
00266
00267
00268
00269
00270
00271 class BldDataEBeamV3 {
00272 public:
00273 enum { TypeId = Pds::TypeId::Id_EBeam };
00274 enum { Version = 3 };
00275
00276
00277 enum DamageMask {
00278 EbeamChargeDamage = 0x001,
00279 EbeamL3EnergyDamage = 0x002,
00280 EbeamLTUPosXDamage = 0x004,
00281 EbeamLTUPosYDamage = 0x008,
00282 EbeamLTUAngXDamage = 0x010,
00283 EbeamLTUAngYDamage = 0x020,
00284 EbeamPkCurrBC2Damage = 0x040,
00285 EbeamEnergyBC2Damage = 0x080,
00286 EbeamPkCurrBC1Damage = 0x100,
00287 EbeamEnergyBC1Damage = 0x200,
00288 };
00289 BldDataEBeamV3(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2, double arg__fEbeamPkCurrBC1, double arg__fEbeamEnergyBC1)
00290 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2), _fEbeamPkCurrBC1(arg__fEbeamPkCurrBC1), _fEbeamEnergyBC1(arg__fEbeamEnergyBC1)
00291 {
00292 }
00293 BldDataEBeamV3() {}
00294
00295 uint32_t damageMask() const { return _uDamageMask; }
00296
00297 double ebeamCharge() const { return _fEbeamCharge; }
00298
00299 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00300
00301 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00302
00303 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00304
00305 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00306
00307 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00308
00309 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00310
00311 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00312
00313 double ebeamPkCurrBC1() const { return _fEbeamPkCurrBC1; }
00314
00315 double ebeamEnergyBC1() const { return _fEbeamEnergyBC1; }
00316 static uint32_t _sizeof() { return 84; }
00317 private:
00318 uint32_t _uDamageMask;
00319 double _fEbeamCharge;
00320 double _fEbeamL3Energy;
00321 double _fEbeamLTUPosX;
00322 double _fEbeamLTUPosY;
00323 double _fEbeamLTUAngX;
00324 double _fEbeamLTUAngY;
00325 double _fEbeamPkCurrBC2;
00326 double _fEbeamEnergyBC2;
00327 double _fEbeamPkCurrBC1;
00328 double _fEbeamEnergyBC1;
00329 };
00330 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV3::DamageMask enval);
00331
00332
00333
00334
00335
00336
00337
00338 class BldDataEBeamV4 {
00339 public:
00340 enum { TypeId = Pds::TypeId::Id_EBeam };
00341 enum { Version = 4 };
00342
00343
00344 enum DamageMask {
00345 EbeamChargeDamage = 0x001,
00346 EbeamL3EnergyDamage = 0x002,
00347 EbeamLTUPosXDamage = 0x004,
00348 EbeamLTUPosYDamage = 0x008,
00349 EbeamLTUAngXDamage = 0x010,
00350 EbeamLTUAngYDamage = 0x020,
00351 EbeamPkCurrBC2Damage = 0x040,
00352 EbeamEnergyBC2Damage = 0x080,
00353 EbeamPkCurrBC1Damage = 0x100,
00354 EbeamEnergyBC1Damage = 0x200,
00355 EbeamUndPosXDamage = 0x400,
00356 EbeamUndPosYDamage = 0x800,
00357 EbeamUndAngXDamage = 0x1000,
00358 EbeamUndAngYDamage = 0x2000,
00359 };
00360 BldDataEBeamV4(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2, double arg__fEbeamPkCurrBC1, double arg__fEbeamEnergyBC1, double arg__fEbeamUndPosX, double arg__fEbeamUndPosY, double arg__fEbeamUndAngX, double arg__fEbeamUndAngY)
00361 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2), _fEbeamPkCurrBC1(arg__fEbeamPkCurrBC1), _fEbeamEnergyBC1(arg__fEbeamEnergyBC1), _fEbeamUndPosX(arg__fEbeamUndPosX), _fEbeamUndPosY(arg__fEbeamUndPosY), _fEbeamUndAngX(arg__fEbeamUndAngX), _fEbeamUndAngY(arg__fEbeamUndAngY)
00362 {
00363 }
00364 BldDataEBeamV4() {}
00365
00366 uint32_t damageMask() const { return _uDamageMask; }
00367
00368 double ebeamCharge() const { return _fEbeamCharge; }
00369
00370 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00371
00372 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00373
00374 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00375
00376 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00377
00378 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00379
00380 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00381
00382 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00383
00384 double ebeamPkCurrBC1() const { return _fEbeamPkCurrBC1; }
00385
00386 double ebeamEnergyBC1() const { return _fEbeamEnergyBC1; }
00387
00388 double ebeamUndPosX() const { return _fEbeamUndPosX; }
00389
00390 double ebeamUndPosY() const { return _fEbeamUndPosY; }
00391
00392 double ebeamUndAngX() const { return _fEbeamUndAngX; }
00393
00394 double ebeamUndAngY() const { return _fEbeamUndAngY; }
00395 static uint32_t _sizeof() { return 116; }
00396 private:
00397 uint32_t _uDamageMask;
00398 double _fEbeamCharge;
00399 double _fEbeamL3Energy;
00400 double _fEbeamLTUPosX;
00401 double _fEbeamLTUPosY;
00402 double _fEbeamLTUAngX;
00403 double _fEbeamLTUAngY;
00404 double _fEbeamPkCurrBC2;
00405 double _fEbeamEnergyBC2;
00406 double _fEbeamPkCurrBC1;
00407 double _fEbeamEnergyBC1;
00408 double _fEbeamUndPosX;
00409 double _fEbeamUndPosY;
00410 double _fEbeamUndAngX;
00411 double _fEbeamUndAngY;
00412 };
00413 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV4::DamageMask enval);
00414
00415
00416
00417
00418
00419
00420
00421 class BldDataEBeamV5 {
00422 public:
00423 enum { TypeId = Pds::TypeId::Id_EBeam };
00424 enum { Version = 5 };
00425
00426
00427 enum DamageMask {
00428 EbeamChargeDamage = 0x001,
00429 EbeamL3EnergyDamage = 0x002,
00430 EbeamLTUPosXDamage = 0x004,
00431 EbeamLTUPosYDamage = 0x008,
00432 EbeamLTUAngXDamage = 0x010,
00433 EbeamLTUAngYDamage = 0x020,
00434 EbeamPkCurrBC2Damage = 0x040,
00435 EbeamEnergyBC2Damage = 0x080,
00436 EbeamPkCurrBC1Damage = 0x100,
00437 EbeamEnergyBC1Damage = 0x200,
00438 EbeamUndPosXDamage = 0x400,
00439 EbeamUndPosYDamage = 0x800,
00440 EbeamUndAngXDamage = 0x1000,
00441 EbeamUndAngYDamage = 0x2000,
00442 EbeamXTCAVAmplDamage = 0x4000,
00443 EbeamXTCAVPhaseDamage = 0x8000,
00444 EbeamDumpChargeDamage = 0x10000,
00445 };
00446 BldDataEBeamV5(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2, double arg__fEbeamPkCurrBC1, double arg__fEbeamEnergyBC1, double arg__fEbeamUndPosX, double arg__fEbeamUndPosY, double arg__fEbeamUndAngX, double arg__fEbeamUndAngY, double arg__fEbeamXTCAVAmpl, double arg__fEbeamXTCAVPhase, double arg__fEbeamDumpCharge)
00447 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2), _fEbeamPkCurrBC1(arg__fEbeamPkCurrBC1), _fEbeamEnergyBC1(arg__fEbeamEnergyBC1), _fEbeamUndPosX(arg__fEbeamUndPosX), _fEbeamUndPosY(arg__fEbeamUndPosY), _fEbeamUndAngX(arg__fEbeamUndAngX), _fEbeamUndAngY(arg__fEbeamUndAngY), _fEbeamXTCAVAmpl(arg__fEbeamXTCAVAmpl), _fEbeamXTCAVPhase(arg__fEbeamXTCAVPhase), _fEbeamDumpCharge(arg__fEbeamDumpCharge)
00448 {
00449 }
00450 BldDataEBeamV5() {}
00451
00452 uint32_t damageMask() const { return _uDamageMask; }
00453
00454 double ebeamCharge() const { return _fEbeamCharge; }
00455
00456 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00457
00458 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00459
00460 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00461
00462 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00463
00464 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00465
00466 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00467
00468 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00469
00470 double ebeamPkCurrBC1() const { return _fEbeamPkCurrBC1; }
00471
00472 double ebeamEnergyBC1() const { return _fEbeamEnergyBC1; }
00473
00474 double ebeamUndPosX() const { return _fEbeamUndPosX; }
00475
00476 double ebeamUndPosY() const { return _fEbeamUndPosY; }
00477
00478 double ebeamUndAngX() const { return _fEbeamUndAngX; }
00479
00480 double ebeamUndAngY() const { return _fEbeamUndAngY; }
00481
00482 double ebeamXTCAVAmpl() const { return _fEbeamXTCAVAmpl; }
00483
00484 double ebeamXTCAVPhase() const { return _fEbeamXTCAVPhase; }
00485
00486 double ebeamDumpCharge() const { return _fEbeamDumpCharge; }
00487 static uint32_t _sizeof() { return 140; }
00488 private:
00489 uint32_t _uDamageMask;
00490 double _fEbeamCharge;
00491 double _fEbeamL3Energy;
00492 double _fEbeamLTUPosX;
00493 double _fEbeamLTUPosY;
00494 double _fEbeamLTUAngX;
00495 double _fEbeamLTUAngY;
00496 double _fEbeamPkCurrBC2;
00497 double _fEbeamEnergyBC2;
00498 double _fEbeamPkCurrBC1;
00499 double _fEbeamEnergyBC1;
00500 double _fEbeamUndPosX;
00501 double _fEbeamUndPosY;
00502 double _fEbeamUndAngX;
00503 double _fEbeamUndAngY;
00504 double _fEbeamXTCAVAmpl;
00505 double _fEbeamXTCAVPhase;
00506 double _fEbeamDumpCharge;
00507 };
00508 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV5::DamageMask enval);
00509
00510
00511
00512
00513
00514
00515
00516 class BldDataEBeamV6 {
00517 public:
00518 enum { TypeId = Pds::TypeId::Id_EBeam };
00519 enum { Version = 6 };
00520
00521
00522 enum DamageMask {
00523 EbeamChargeDamage = 0x001,
00524 EbeamL3EnergyDamage = 0x002,
00525 EbeamLTUPosXDamage = 0x004,
00526 EbeamLTUPosYDamage = 0x008,
00527 EbeamLTUAngXDamage = 0x010,
00528 EbeamLTUAngYDamage = 0x020,
00529 EbeamPkCurrBC2Damage = 0x040,
00530 EbeamEnergyBC2Damage = 0x080,
00531 EbeamPkCurrBC1Damage = 0x100,
00532 EbeamEnergyBC1Damage = 0x200,
00533 EbeamUndPosXDamage = 0x400,
00534 EbeamUndPosYDamage = 0x800,
00535 EbeamUndAngXDamage = 0x1000,
00536 EbeamUndAngYDamage = 0x2000,
00537 EbeamXTCAVAmplDamage = 0x4000,
00538 EbeamXTCAVPhaseDamage = 0x8000,
00539 EbeamDumpChargeDamage = 0x10000,
00540 EbeamPhotonEnergyDamage = 0x20000,
00541 };
00542 BldDataEBeamV6(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2, double arg__fEbeamPkCurrBC1, double arg__fEbeamEnergyBC1, double arg__fEbeamUndPosX, double arg__fEbeamUndPosY, double arg__fEbeamUndAngX, double arg__fEbeamUndAngY, double arg__fEbeamXTCAVAmpl, double arg__fEbeamXTCAVPhase, double arg__fEbeamDumpCharge, double arg__fEbeamPhotonEnergy, double arg__fEbeamLTU250, double arg__fEbeamLTU450)
00543 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2), _fEbeamPkCurrBC1(arg__fEbeamPkCurrBC1), _fEbeamEnergyBC1(arg__fEbeamEnergyBC1), _fEbeamUndPosX(arg__fEbeamUndPosX), _fEbeamUndPosY(arg__fEbeamUndPosY), _fEbeamUndAngX(arg__fEbeamUndAngX), _fEbeamUndAngY(arg__fEbeamUndAngY), _fEbeamXTCAVAmpl(arg__fEbeamXTCAVAmpl), _fEbeamXTCAVPhase(arg__fEbeamXTCAVPhase), _fEbeamDumpCharge(arg__fEbeamDumpCharge), _fEbeamPhotonEnergy(arg__fEbeamPhotonEnergy), _fEbeamLTU250(arg__fEbeamLTU250), _fEbeamLTU450(arg__fEbeamLTU450)
00544 {
00545 }
00546 BldDataEBeamV6() {}
00547
00548 uint32_t damageMask() const { return _uDamageMask; }
00549
00550 double ebeamCharge() const { return _fEbeamCharge; }
00551
00552 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00553
00554 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00555
00556 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00557
00558 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00559
00560 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00561
00562 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00563
00564 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00565
00566 double ebeamPkCurrBC1() const { return _fEbeamPkCurrBC1; }
00567
00568 double ebeamEnergyBC1() const { return _fEbeamEnergyBC1; }
00569
00570 double ebeamUndPosX() const { return _fEbeamUndPosX; }
00571
00572 double ebeamUndPosY() const { return _fEbeamUndPosY; }
00573
00574 double ebeamUndAngX() const { return _fEbeamUndAngX; }
00575
00576 double ebeamUndAngY() const { return _fEbeamUndAngY; }
00577
00578 double ebeamXTCAVAmpl() const { return _fEbeamXTCAVAmpl; }
00579
00580 double ebeamXTCAVPhase() const { return _fEbeamXTCAVPhase; }
00581
00582 double ebeamDumpCharge() const { return _fEbeamDumpCharge; }
00583
00584 double ebeamPhotonEnergy() const { return _fEbeamPhotonEnergy; }
00585
00586 double ebeamLTU250() const { return _fEbeamLTU250; }
00587
00588 double ebeamLTU450() const { return _fEbeamLTU450; }
00589 static uint32_t _sizeof() { return 164; }
00590 private:
00591 uint32_t _uDamageMask;
00592 double _fEbeamCharge;
00593 double _fEbeamL3Energy;
00594 double _fEbeamLTUPosX;
00595 double _fEbeamLTUPosY;
00596 double _fEbeamLTUAngX;
00597 double _fEbeamLTUAngY;
00598 double _fEbeamPkCurrBC2;
00599 double _fEbeamEnergyBC2;
00600 double _fEbeamPkCurrBC1;
00601 double _fEbeamEnergyBC1;
00602 double _fEbeamUndPosX;
00603 double _fEbeamUndPosY;
00604 double _fEbeamUndAngX;
00605 double _fEbeamUndAngY;
00606 double _fEbeamXTCAVAmpl;
00607 double _fEbeamXTCAVPhase;
00608 double _fEbeamDumpCharge;
00609 double _fEbeamPhotonEnergy;
00610 double _fEbeamLTU250;
00611 double _fEbeamLTU450;
00612 };
00613 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV6::DamageMask enval);
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624 class BldDataEBeamV7 {
00625 public:
00626 enum { TypeId = Pds::TypeId::Id_EBeam };
00627 enum { Version = 7 };
00628
00629
00630 enum DamageMask {
00631 EbeamChargeDamage = 0x001,
00632 EbeamL3EnergyDamage = 0x002,
00633 EbeamLTUPosXDamage = 0x004,
00634 EbeamLTUPosYDamage = 0x008,
00635 EbeamLTUAngXDamage = 0x010,
00636 EbeamLTUAngYDamage = 0x020,
00637 EbeamPkCurrBC2Damage = 0x040,
00638 EbeamEnergyBC2Damage = 0x080,
00639 EbeamPkCurrBC1Damage = 0x100,
00640 EbeamEnergyBC1Damage = 0x200,
00641 EbeamUndPosXDamage = 0x400,
00642 EbeamUndPosYDamage = 0x800,
00643 EbeamUndAngXDamage = 0x1000,
00644 EbeamUndAngYDamage = 0x2000,
00645 EbeamXTCAVAmplDamage = 0x4000,
00646 EbeamXTCAVPhaseDamage = 0x8000,
00647 EbeamDumpChargeDamage = 0x10000,
00648 EbeamPhotonEnergyDamage = 0x20000,
00649 };
00650 BldDataEBeamV7(uint32_t arg__uDamageMask, double arg__fEbeamCharge, double arg__fEbeamL3Energy, double arg__fEbeamLTUPosX, double arg__fEbeamLTUPosY, double arg__fEbeamLTUAngX, double arg__fEbeamLTUAngY, double arg__fEbeamPkCurrBC2, double arg__fEbeamEnergyBC2, double arg__fEbeamPkCurrBC1, double arg__fEbeamEnergyBC1, double arg__fEbeamUndPosX, double arg__fEbeamUndPosY, double arg__fEbeamUndAngX, double arg__fEbeamUndAngY, double arg__fEbeamXTCAVAmpl, double arg__fEbeamXTCAVPhase, double arg__fEbeamDumpCharge, double arg__fEbeamPhotonEnergy, double arg__fEbeamLTU250, double arg__fEbeamLTU450)
00651 : _uDamageMask(arg__uDamageMask), _fEbeamCharge(arg__fEbeamCharge), _fEbeamL3Energy(arg__fEbeamL3Energy), _fEbeamLTUPosX(arg__fEbeamLTUPosX), _fEbeamLTUPosY(arg__fEbeamLTUPosY), _fEbeamLTUAngX(arg__fEbeamLTUAngX), _fEbeamLTUAngY(arg__fEbeamLTUAngY), _fEbeamPkCurrBC2(arg__fEbeamPkCurrBC2), _fEbeamEnergyBC2(arg__fEbeamEnergyBC2), _fEbeamPkCurrBC1(arg__fEbeamPkCurrBC1), _fEbeamEnergyBC1(arg__fEbeamEnergyBC1), _fEbeamUndPosX(arg__fEbeamUndPosX), _fEbeamUndPosY(arg__fEbeamUndPosY), _fEbeamUndAngX(arg__fEbeamUndAngX), _fEbeamUndAngY(arg__fEbeamUndAngY), _fEbeamXTCAVAmpl(arg__fEbeamXTCAVAmpl), _fEbeamXTCAVPhase(arg__fEbeamXTCAVPhase), _fEbeamDumpCharge(arg__fEbeamDumpCharge), _fEbeamPhotonEnergy(arg__fEbeamPhotonEnergy), _fEbeamLTU250(arg__fEbeamLTU250), _fEbeamLTU450(arg__fEbeamLTU450)
00652 {
00653 }
00654 BldDataEBeamV7() {}
00655
00656 uint32_t damageMask() const { return _uDamageMask; }
00657
00658 double ebeamCharge() const { return _fEbeamCharge; }
00659
00660 double ebeamL3Energy() const { return _fEbeamL3Energy; }
00661
00662 double ebeamLTUPosX() const { return _fEbeamLTUPosX; }
00663
00664 double ebeamLTUPosY() const { return _fEbeamLTUPosY; }
00665
00666 double ebeamLTUAngX() const { return _fEbeamLTUAngX; }
00667
00668 double ebeamLTUAngY() const { return _fEbeamLTUAngY; }
00669
00670 double ebeamPkCurrBC2() const { return _fEbeamPkCurrBC2; }
00671
00672 double ebeamEnergyBC2() const { return _fEbeamEnergyBC2; }
00673
00674 double ebeamPkCurrBC1() const { return _fEbeamPkCurrBC1; }
00675
00676 double ebeamEnergyBC1() const { return _fEbeamEnergyBC1; }
00677
00678 double ebeamUndPosX() const { return _fEbeamUndPosX; }
00679
00680 double ebeamUndPosY() const { return _fEbeamUndPosY; }
00681
00682 double ebeamUndAngX() const { return _fEbeamUndAngX; }
00683
00684 double ebeamUndAngY() const { return _fEbeamUndAngY; }
00685
00686 double ebeamXTCAVAmpl() const { return _fEbeamXTCAVAmpl; }
00687
00688 double ebeamXTCAVPhase() const { return _fEbeamXTCAVPhase; }
00689
00690 double ebeamDumpCharge() const { return _fEbeamDumpCharge; }
00691
00692 double ebeamPhotonEnergy() const { return _fEbeamPhotonEnergy; }
00693
00694 double ebeamLTU250() const { return _fEbeamLTU250; }
00695
00696 double ebeamLTU450() const { return _fEbeamLTU450; }
00697 static uint32_t _sizeof() { return 164; }
00698 private:
00699 uint32_t _uDamageMask;
00700 double _fEbeamCharge;
00701 double _fEbeamL3Energy;
00702 double _fEbeamLTUPosX;
00703 double _fEbeamLTUPosY;
00704 double _fEbeamLTUAngX;
00705 double _fEbeamLTUAngY;
00706 double _fEbeamPkCurrBC2;
00707 double _fEbeamEnergyBC2;
00708 double _fEbeamPkCurrBC1;
00709 double _fEbeamEnergyBC1;
00710 double _fEbeamUndPosX;
00711 double _fEbeamUndPosY;
00712 double _fEbeamUndAngX;
00713 double _fEbeamUndAngY;
00714 double _fEbeamXTCAVAmpl;
00715 double _fEbeamXTCAVPhase;
00716 double _fEbeamDumpCharge;
00717 double _fEbeamPhotonEnergy;
00718 double _fEbeamLTU250;
00719 double _fEbeamLTU450;
00720 };
00721 std::ostream& operator<<(std::ostream& str, Bld::BldDataEBeamV7::DamageMask enval);
00722
00723
00724
00725
00726
00727
00728
00729 class BldDataEOrbitsV0 {
00730 public:
00731 enum { TypeId = Pds::TypeId::Id_EOrbits };
00732 enum { Version = 0 };
00733 virtual ~BldDataEOrbitsV0();
00734
00735 virtual uint32_t nBPMS() const = 0;
00736
00737 virtual ndarray<const double, 1> fBPM_X() const = 0;
00738
00739 virtual ndarray<const double, 1> fBPM_Y() const = 0;
00740
00741 virtual ndarray<const double, 1> fBPM_TMIT() const = 0;
00742 };
00743
00744
00745
00746
00747
00748
00749
00750
00751 class BldDataPhaseCavity {
00752 public:
00753 enum { TypeId = Pds::TypeId::Id_PhaseCavity };
00754 enum { Version = 0 };
00755 BldDataPhaseCavity(double arg__fFitTime1, double arg__fFitTime2, double arg__fCharge1, double arg__fCharge2)
00756 : _fFitTime1(arg__fFitTime1), _fFitTime2(arg__fFitTime2), _fCharge1(arg__fCharge1), _fCharge2(arg__fCharge2)
00757 {
00758 }
00759 BldDataPhaseCavity() {}
00760
00761 double fitTime1() const { return _fFitTime1; }
00762
00763 double fitTime2() const { return _fFitTime2; }
00764
00765 double charge1() const { return _fCharge1; }
00766
00767 double charge2() const { return _fCharge2; }
00768 static uint32_t _sizeof() { return 32; }
00769 private:
00770 double _fFitTime1;
00771 double _fFitTime2;
00772 double _fCharge1;
00773 double _fCharge2;
00774 };
00775
00776
00777
00778
00779
00780
00781
00782
00783 class BldDataIpimbV0 {
00784 public:
00785 enum { TypeId = Pds::TypeId::Id_SharedIpimb };
00786 enum { Version = 0 };
00787 virtual ~BldDataIpimbV0();
00788 virtual const Ipimb::DataV1& ipimbData() const = 0;
00789 virtual const Ipimb::ConfigV1& ipimbConfig() const = 0;
00790 virtual const Lusi::IpmFexV1& ipmFexData() const = 0;
00791 };
00792
00793
00794
00795
00796
00797
00798
00799
00800 class BldDataIpimbV1 {
00801 public:
00802 enum { TypeId = Pds::TypeId::Id_SharedIpimb };
00803 enum { Version = 1 };
00804 virtual ~BldDataIpimbV1();
00805 virtual const Ipimb::DataV2& ipimbData() const = 0;
00806 virtual const Ipimb::ConfigV2& ipimbConfig() const = 0;
00807 virtual const Lusi::IpmFexV1& ipmFexData() const = 0;
00808 };
00809
00810
00811
00812
00813
00814
00815
00816
00817 class BldDataPimV1 {
00818 public:
00819 enum { TypeId = Pds::TypeId::Id_SharedPim };
00820 enum { Version = 1 };
00821 virtual ~BldDataPimV1();
00822 virtual const Pulnix::TM6740ConfigV2& camConfig() const = 0;
00823 virtual const Lusi::PimImageConfigV1& pimConfig() const = 0;
00824 virtual const Camera::FrameV1& frame() const = 0;
00825 };
00826
00827
00828
00829
00830
00831
00832
00833
00834 class BldDataUsdUsbV1 {
00835 public:
00836 enum { TypeId = Pds::TypeId::Id_SharedUsdUsb };
00837 enum { Version = 1 };
00838 virtual ~BldDataUsdUsbV1();
00839 virtual const UsdUsb::ConfigV1& config() const = 0;
00840 virtual const UsdUsb::FexConfigV1& fexConfig() const = 0;
00841 virtual const UsdUsb::DataV1& data() const = 0;
00842 virtual const UsdUsb::FexDataV1& fexData() const = 0;
00843 };
00844
00845
00846
00847
00848
00849
00850
00851 class BldDataGMDV0 {
00852 public:
00853 enum { TypeId = Pds::TypeId::Id_GMD };
00854 enum { Version = 0 };
00855 virtual ~BldDataGMDV0();
00856
00857 virtual const char* gasType() const = 0;
00858
00859 virtual double pressure() const = 0;
00860
00861 virtual double temperature() const = 0;
00862
00863 virtual double current() const = 0;
00864
00865 virtual double hvMeshElectron() const = 0;
00866
00867 virtual double hvMeshIon() const = 0;
00868
00869 virtual double hvMultIon() const = 0;
00870
00871 virtual double chargeQ() const = 0;
00872
00873 virtual double photonEnergy() const = 0;
00874
00875 virtual double multPulseIntensity() const = 0;
00876
00877 virtual double keithleyPulseIntensity() const = 0;
00878
00879 virtual double pulseEnergy() const = 0;
00880
00881 virtual double pulseEnergyFEE() const = 0;
00882
00883 virtual double transmission() const = 0;
00884
00885 virtual double transmissionFEE() const = 0;
00886 };
00887
00888
00889
00890
00891
00892
00893
00894 class BldDataGMDV1 {
00895 public:
00896 enum { TypeId = Pds::TypeId::Id_GMD };
00897 enum { Version = 1 };
00898 virtual ~BldDataGMDV1();
00899
00900 virtual double milliJoulesPerPulse() const = 0;
00901
00902 virtual double milliJoulesAverage() const = 0;
00903
00904 virtual double correctedSumPerPulse() const = 0;
00905
00906 virtual double bgValuePerSample() const = 0;
00907
00908 virtual double relativeEnergyPerPulse() const = 0;
00909 };
00910
00911
00912
00913
00914
00915
00916
00917 class BldDataGMDV2 {
00918 public:
00919 enum { TypeId = Pds::TypeId::Id_GMD };
00920 enum { Version = 2 };
00921 virtual ~BldDataGMDV2();
00922
00923 virtual double milliJoulesPerPulse() const = 0;
00924
00925 virtual double milliJoulesAverage() const = 0;
00926
00927 virtual double sumAllPeaksFiltBkgd() const = 0;
00928
00929 virtual double rawAvgBkgd() const = 0;
00930
00931 virtual double relativeEnergyPerPulse() const = 0;
00932
00933 virtual double sumAllPeaksRawBkgd() const = 0;
00934 };
00935
00936
00937
00938
00939
00940
00941
00942
00943 class BldDataAcqADCV1 {
00944 public:
00945 enum { TypeId = Pds::TypeId::Id_SharedAcqADC };
00946 enum { Version = 1 };
00947 virtual ~BldDataAcqADCV1();
00948 virtual const Acqiris::ConfigV1& config() const = 0;
00949 virtual const Acqiris::DataDescV1& data() const = 0;
00950 };
00951
00952
00953
00954
00955
00956
00957
00958 class BldDataSpectrometerV0 {
00959 public:
00960 enum { TypeId = Pds::TypeId::Id_Spectrometer };
00961 enum { Version = 0 };
00962 virtual ~BldDataSpectrometerV0();
00963 virtual ndarray<const uint32_t, 1> hproj() const = 0;
00964 virtual ndarray<const uint32_t, 1> vproj() const = 0;
00965 };
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975 class BldDataSpectrometerV1 {
00976 public:
00977 enum { TypeId = Pds::TypeId::Id_Spectrometer };
00978 enum { Version = 1 };
00979 virtual ~BldDataSpectrometerV1();
00980
00981
00982 virtual uint32_t width() const = 0;
00983
00984
00985 virtual uint32_t hproj_y1() const = 0;
00986
00987
00988 virtual uint32_t hproj_y2() const = 0;
00989
00990
00991 virtual double comRaw() const = 0;
00992
00993
00994 virtual double baseline() const = 0;
00995
00996
00997 virtual double com() const = 0;
00998
00999
01000 virtual double integral() const = 0;
01001
01002
01003 virtual uint32_t nPeaks() const = 0;
01004
01005
01006 virtual ndarray<const int32_t, 1> hproj() const = 0;
01007
01008
01009 virtual ndarray<const double, 1> peakPos() const = 0;
01010
01011
01012 virtual ndarray<const double, 1> peakHeight() const = 0;
01013
01014
01015 virtual ndarray<const double, 1> FWHM() const = 0;
01016 };
01017
01018
01019
01020
01021
01022
01023
01024 class BldDataAnalogInputV1 {
01025 public:
01026 enum { TypeId = Pds::TypeId::Id_AnalogInput };
01027 enum { Version = 1 };
01028 virtual ~BldDataAnalogInputV1();
01029
01030 virtual uint32_t numChannels() const = 0;
01031
01032 virtual ndarray<const double, 1> channelVoltages() const = 0;
01033 };
01034
01035
01036
01037
01038
01039
01040
01041 class BldDataBeamMonitorV1 {
01042 public:
01043 enum { TypeId = Pds::TypeId::Id_BeamMonitorBldData };
01044 enum { Version = 1 };
01045 enum { NCHANNELS = 16 };
01046 virtual ~BldDataBeamMonitorV1();
01047
01048 virtual double TotalIntensity() const = 0;
01049
01050 virtual double X_Position() const = 0;
01051
01052 virtual double Y_Position() const = 0;
01053
01054 virtual ndarray<const double, 1> peakA() const = 0;
01055
01056 virtual ndarray<const uint16_t, 1> peakT() const = 0;
01057 };
01058 }
01059 }
01060 #endif // PSANA_BLD_DDL_H