You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Package Xtc

The Xtc package defines several classes

Class Src

This is a base class for any source of information in the xtc file (e.g. Detector, Beamline, Process). Defined in pdsdata/xtc/Src.hh

Public Member Functions:

    // Constructors
    Src();
    Src(Level::Type level);

    uint32_t log()   const;    // logical identifier
    uint32_t phy()   const;    // physical identifier

    Level::Type level() const; // level

    bool operator==(const Src& s) const;

Protected Attributes

    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/BldInfo.hh

Public Types:

    enum Type { EBeam = 0, PhaseCavity = 1, FEEGasDetEnergy = 2, NumberOf = 3 };

Public Member Functions

  • Constructors and Destructor
        BldInfo() {}
        BldInfo(uint32_t processId, Type type);
    
  • Accessors
        uint32_t processId() const;
        Type     type()  const;
    

Static Public Member Functions

    static const char* name(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:

    // Constructor
    ProcInfo(Level::Type level,     //
             uint32_t processId,    // 
             uint32_t ipAddr);      // 

    uint32_t processId() const;
    uint32_t ipAddr()    const;
    void     ipAddr(int);

Class DetInfo

Detector information. Inherits from Src. Defined in pdsdata/xtc/DetInfo.hh and implemented in pdsdata/xtc/src/DetInfo.cc.

Public Types:

    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
    };

Public Member Functions

    // 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

    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)
        ClockTime();
        ClockTime(const ClockTime& t);
        ClockTime(unsigned sec, unsigned nsec);
    
  • Accessors:
        unsigned seconds    () const {return _high;}
        unsigned nanoseconds() const {return _low;}
    
  • Operators
        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:

    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:

    // 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:

     PDS_DGRAM_STRUCT // #define PDS_DGRAM_STRUCT Sequence seq; Env env; Xtc xtc

Class Sequence

Defined in pdsdata/xtc/Sequence.hh.

Public Types:

    enum Type    {Event = 0, Occurrence = 1, Marker = 2};
    enum         {NumberOfTypes = 3};

Public Member Functions:

    // 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

    // 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:

  enum Type{Control, Source, Segment, Event, Recorder, Observer, Reporter,
            NumberOfLevels};

Static Public Member Functions

  static const char* name(Type type);

Class TimeStamp

Class

Class

  • No labels