Page History
...
The Xtc package defines several classes
Class Src
Defined in pdsdata/xtc/Src.hh
Class BldInfo
This is a base class for any source of information in the xtc file (e.g. Detector, Beamline, Process). Defined in pdsdata/xtc/BldInfoSrc.hh
Inherits from Src
Public TypesMember Functions:
Code Block |
---|
enum Type { EBeam, PhaseCavity, FEEGasDetEnergy, NumberOf };
|
Public Member Functions
...
// Constructors |
...
Src() |
...
; |
...
Src(Level::Type |
...
level); |
...
uint32_t |
...
log() |
...
|
...
const; |
...
Static Public Member Functions
Code Block |
---|
static// const char* name(const BldInfo&); |
Class ClockTime
Defined in pdsdata/xtc/ClockTime.hh
.
Public Member Functions:
...
Code Block |
---|
ClockTime();
ClockTime(const ClockTime& t);
ClockTime(unsigned sec, unsigned nsec);
|
...
logical identifier uint32_t phy() const; // physical identifier |
...
Level::Type level() const; |
...
// level |
...
bool |
...
operator==(const Src& s) const |
...
; |
...
|
...
Protected Attributes
Code Block |
---|
|
...
uint32_t _log; // logical identifier
uint32_t _phy; // physical identifier
|
Class BldInfo
...
Beamline data Information. This is a derived class that inherits from Src.
Defined in pdsdata/xtc/DamageBldInfo.hh
, inline implementation.
Public Types:
Code Block |
---|
enum ValueType { DroppedContribution EBeam = 10, OutOfOrder PhaseCavity = 121, OutOfSynch = 13, UserDefined = 14, IncompleteContribution = 15, ContainsIncomplete = 16 }; // reserve the top byte to augment user defined errors enum {NotUserBitsMask=0x00FFFFFF, UserBitsShift = 24}; |
...
FEEGasDetEnergy = 2, NumberOf = 3 };
|
Public Member Functions
- Constructors and Destructor
Code Block
...
BldInfo() {}
...
BldInfo(uint32_t
...
processId,
...
Type type);
- Accessors
Code Block uint32_t
...
processId() const; Type type() const;
Static Public Member Functions
Code Block |
---|
{ return _damage; } voidstatic const char* increase(Damage::Value v) { _damage |= ((1<<vname(const BldInfo&); |
Class ProcInfo
Process information class. This is a derived class that inherits from Src.
Holds process info for all Levels except Source.
Public Member Functions:
Code Block |
---|
) & NotUserBitsMask); } void// Constructor increase(uint32_t v)ProcInfo(Level::Type level, // { _damage |= v & NotUserBitsMask; } uint32_t bits()processId, const // { return _damage & NotUserBitsMask;} uint32_t userBits(ipAddr) const; // { return _damage >> UserBitsShift; } void uint32_t processId() const; userBits(uint32_t vipAddr() { _damage &= NotUserBitsMaskconst; void _damage |= ipAddr(v << UserBitsShiftint); } |
Class DetInfo
Detector information. Inherits from Src. Defined in pdsdata/xtc/DetInfo.hh
and implemented in pdsdata/xtc/src/DetInfo.cc
.
...
Code Block |
---|
enum Detector {
NoDetector = 0,
AmoIms = 1, // AMO Ion Momentum Spectrometer
AmoGasdet = 2, // AMO Gas Detector (in FrontEnd Enclosure)
AmoETof = 3, // AMO Electron Time-of-flight
AmoITof = 4, // AMO Ion Time-of-flight
AmoMbes = 5, // AMO Magnetic bottle electron spectrometer
AmoVmi = 6, // AMO Velocity map imaging
AmoBps = 7, // AMO Beam position screen
Camp = 8, // CFel-ASG-Multi-Purpose EndStation
EpicsArch = 9, //
BldEb = 10,
SxrBeamline = 11,
SxrEndstation = 12,
XppSb1Ipm = 13,
XppSb1Pim = 14,
XppMonPim = 15,
XppSb2Ipm = 16,
XppSb3Ipm = 17,
XppSb3Pim = 18,
XppSb4Pim = 19,
XppGon = 20,
XppLas = 21,
XppEndstation = 22,
AmoEndstation = 23,
CxiEndstation = 24,
XcsEndstation = 25,
MecEndstation = 26,
NumDetector = 27
};
enum Device {
NoDevice = 0,
Evr = 1,
Acqiris = 2,
Opal1000 = 3,
TM6740 = 4,
pnCCD = 5,
Princeton = 6,
Fccd = 7,
Ipimb = 8,
Encoder = 9,
Cspad = 10,
NumDevice = 11
};
|
...
Code Block |
---|
// Constructors DetInfo() {} DetInfo(uint32_t processId, // Detector det, // uint32_t detId, // Device dev, // uint32_t devId); // bool operator==(const DetInfo &) const; uint32_t processId() const; Detector detector() const; Device device() const; uint32_t detId() const; uint32_t devId() const; |
Static Public Member Functions
Code Block |
---|
static const char *name(Detector); static const char *name(Device); static const char *name(const DetInfo &); |
Class ClockTime
Defined in pdsdata/xtc/ClockTime.hh
.
Public Member Functions:
- Constructors (ClockTime has no destructor)
Code Block ClockTime(); ClockTime(const ClockTime& t); ClockTime(unsigned sec, unsigned nsec);
- Accessors:
Code Block unsigned seconds () const {return _high;} unsigned nanoseconds() const {return _low;}
- Operators
Code Block ClockTime& operator=(const ClockTime&); bool operator> (const ClockTime&) const; bool operator==(const ClockTime&) const;
Class Damage
Defined in pdsdata/xtc/Damage.hh
, inline implementation.
Public Types:
Code Block |
---|
enum Value {
DroppedContribution = 1,
OutOfOrder = 12,
OutOfSynch = 13,
UserDefined = 14,
IncompleteContribution = 15,
ContainsIncomplete = 16
};
// reserve the top byte to augment user defined errors
enum {NotUserBitsMask=0x00FFFFFF, UserBitsShift = 24};
|
Public Member Functions:
Code Block |
---|
// Constructor
Damage(uint32_t v) : _damage(v) {}
uint32_t value() const { return _damage; }
void increase(Damage::Value v) { _damage |= ((1<<v) & NotUserBitsMask); }
void increase(uint32_t v) { _damage |= v & NotUserBitsMask; }
uint32_t bits() const { return _damage & NotUserBitsMask;}
uint32_t userBits() const { return _damage >> UserBitsShift; }
void userBits(uint32_t v) {
_damage &= NotUserBitsMask;
_damage |= (v << UserBitsShift);
}
|
Class Dgram
Datagram - structure of a piece of information within the xtc file.
Public Attributes:
Code Block |
---|
PDS_DGRAM_STRUCT // #define PDS_DGRAM_STRUCT Sequence seq; Env env; Xtc xtc
|
Class Sequence
Defined in pdsdata/xtc/Sequence.hh
.
Public Types:
Code Block |
---|
enum Type {Event = 0, Occurrence = 1, Marker = 2};
enum {NumberOfTypes = 3};
|
Public Member Functions:
Code Block |
---|
// Constructors
Sequence() {}
Sequence(const Sequence&);
Sequence(const ClockTime& clock, const TimeStamp& stamp);
Sequence(Type, TransitionId::Value, const ClockTime&, const TimeStamp&);
Type type() const;
TransitionId::Value service() const;
bool isExtended() const;
bool isEvent() const;
const ClockTime& clock() const {return _clock;}
const TimeStamp& stamp() const {return _stamp;}
Sequence& operator=(const Sequence&);
|
Class Env
Defined in pdsdata/xtc/Env.hh
Public Member Functions
Code Block |
---|
// Constructors
Env() {}
Env(const Env& in) : _env(in._env) {}
Env(uint32_t env);
uint32_t value() const;
const Env& operator=(const Env& that);
|
Class Xtc
Class Level
Defined in pdsdata/xtc/Level.hh
Public Types:
Code Block |
---|
enum Type{Control, Source, Segment, Event, Recorder, Observer, Reporter,
NumberOfLevels};
|
Static Public Member Functions
Code Block |
---|
static const char* name(Type type);
|