------------------------------------------------------------------------------------------------------
Ipimb detector (Intensity Position, Intensity Monitor Board)
------------------------------------------------------------------------------------------------------
int getIpimbConfig(Pds::DetInfo::Detector det, int iDevId);
|
-->
getIpimbVoltsgetEncoderCount(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 |
float &channel0, float &channel1getDiodeFexValue (Pds::DetInfo::Detector det, int iDevId, float |
channel2, float &channel3-->
------------------------------------------------------------------------------------------------------
Encoder detector
------------------------------------------------------------------------------------------------------
int getEncoderConfig (Pds::DetInfo::Detector det, int iDevId);
-->
int getEncoderCount- 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,
|
unsignedint&encoderCount);
-->
------------------------------------------------------------------------------------------------------
DiodeFex
------------------------------------------------------------------------------------------------------
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 (feature extraction)
------------------------------------------------------------------------------------------------------
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);
------------------------------------------------------------------------------------------------------
Other functions that do not require (or have) configuration
------------------------------------------------------------------------------------------------------
int getFeeGasDet (double* shotEnergy);
--> Gives you the shot energy to the array shotEnergy[4]. This information is obtained from
the Front End Enclosure Gas Detector.
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)
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?).
int getEvrDataNumber();
int getEvrData ( int id, unsigned int& eventCode, unsigned int& fiducial, unsigned int& timeStamp );
- eventCode tells you something about the beam quality of this event. 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
- timestamp
------------------------------------------------------------------------------------------------------
EPICS
------------------------------------------------------------------------------------------------------
Get integers, floats, strings from any EPICS channel (PV = process variable) 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();
| This one tells you how many events are in your xtc file.
- 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 event. 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:
- 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); |
|