Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
  • Ipimb detector (Intensity Position, Intensity Monitor Board)
    Code Block
      int getIpimbConfig(Pds::DetInfo::Detector det, int iDevId);
      int getIpimbVolts(Pds::DetInfo::Detector det, int iDevId,
                       float &channel0, float &channel1, float &channel2, float &channel3);
      
  • Encoder detector
    Code Block
      int getEncoderConfig   (Pds::DetInfo::Detector det, int iDevId);
      int getEncoderCount(Pds::DetInfo::Detector det, int iDevId, unsigned int& encoderCount);
      
  • DiodeFex (Diode feature extraction)
    Code Block
      int getDiodeFexConfig (Pds::DetInfo::Detector det, int iDevId, float* base, float* scale);
      int getDiodeFexValue (Pds::DetInfo::Detector det, int iDevId, float& value);
      
  • Imp detector Fex (Imp feature extraction)
    Code Block
      int getIpmFexConfig   (Pds::DetInfo::Detector det, int iDevId,
                           float* base0, float* scale0,
                           float* base1, float* scale1,
                           float* base2, float* scale2,
                           float* base3, float* scale3,
                           float& xscale, float& yscale);
      int getIpmFexValue   (Pds::DetInfo::Detector det, int iDevId,
                          float* channels, float& sum, float& xpos, float& ypos);
       
  • Front end enclosure Gas detector
    Code Block
     int getFeeGasDet  (double* shotEnergy);
     
    Gives you the shot energy to the array shotEnergy4.
  • Electron beam monitor
    Code Block
     int getEBeam(double& charge, double& energy, double& posx, double& posy,
                  double& angx, double& angy);
     int getEBeam(double& charge, double& energy, double& posx, double& posy,
                  double& angx, double& angy, double& pkcurr);
      
    Gives electron beam values for each of these doubles. The measured charge of the beam (in nC),
    the measured energy of the beam (in MeV), the 2D position of the beam (in mm) away from the origin
    (nominal beam position), and 2D angular position (in mrad) off the assumed direction. and the
    pkcurr = current? in (Amps)
  • Phase cavity montior
    Code Block
     int getPhaseCavity(double& fitTime1, double& fitTime2, double& charge1,  double& charge2);
     
    Gives you the phase cavity fit time (low and high?) and charges (before and after?).
  • Event Receiver counter
    Code Block
     int getEvrDataNumber()
     
    number of Fifo pulses associated with this shot (usually 1 or 2). For each of these there is EvrData:
  • Event Receiver data
    Code Block
      int getEvrData(int id, unsigned int& eventCode, unsigned int& fiducial, unsigned int& timeStamp );
      
    eventCode tells you something about the beam quality of this eventpulse. Usually the event code is 140, meaning electrons were produced upstream (beam was on). It does not tell you about the photon status. Other codes:
    fiducial is the higher timestamp of the pulse (end time)
    timeStamp is the lower timestamp of the pulse (start time)
  • EPICS values (Process variables)
    Get integers, floats, strings from any EPICS channel (PV = process variable)
    Code Block
     int getPvInt      (const char* pvName, int& value);
     int getPvFloat    (const char* pvName, float& value);
     int getPvString   (const char* pvName, char*& value);