Pds App package
This package contains various applications that are used by online or can be used to read xtc files.
app/bldreader.cc
Beamline data reader
Classes
- class bldData
Public Member FunctionsPublic Attributesvoid reset () void dump () const void header () const
unsigned seconds unsigned nanoseconds unsigned pulseId const BldDataFEEGasDetEnergy * gasdet const BldDataEBeamV0 * ebeamV0 const BldDataEBeam * ebeam const BldDataPhaseCavity * phasecav
- class myLevelIter
Public TypesPublic Member Functionsenum {Stop, Continue};
// Constructor myLevelIter(Xtc* xtc, unsigned depth) // inherits from XtcIterator (see xtc package) int process(Xtc* xtc);
Functions
void usage (char *progname) bool parse_time (const char *arg, ClockTime &clk) int main (int argc, char *argv[])
app/cfgreader.cc
Configuration reader
Classes
- class myLevelIter
This class inherits from XtcIterator and implements a large number ofprocess(DetInfo,ConfigInfo)
functions that can be called depending on which detector and configuration one is looking for.
- Functions
void usage (char *progname) int main (int argc, char *argv[])
app/dmgreader.cc
classes
- class myLevelIter
This class inherits from XtcIterator and implements oneprocess
member function.
Public Types:Public Member Functionsenum {Stop, Continue}
// Constructor myLevelIter(Xtc* xtc, unsigned depth) process(Xtc* xtc)
Functions
void usage(char* progname) int main(int argc, char* argv[])
app/livextcreader.cc
Classes
- Class LiveXtcFileIterator
Public Member Functions// Constructor and destructor LiveXtcFileIterator(const char* xtcname, size_t maxDgramSize) ~LiveXtcFileIterator() Dgram* next()
- Class myLevelIter
Inherits fromm XtcIterator and implements theprocess
member function.
Public TypesPublic Member Functionsenum {Stop, Continue}
// Constructor myLevelIter(Xtc* xtc, unsigned depth) int process(Xtc* xtc)
Functions
void usage(char* progname) int main(int argc, char* argv[])
app/xtcmodify.cc
Classes
- Class myLevelIter
Inherits from XtcIterator and implements several versions of theprocess
member function in order to process data from several imaging detectors.
Public Types:Public Member Functionsenum {Stop, Continue}
// Constructor myLevelIter(Xtc* xtc, unsigned depth, int fd) void process(DetInfo& info, Princeton::ConfigV1& config) void process(DetInfo& info, const Princeton::FrameV1& frame) void process(const DetInfo& d, const Camera::FrameV1& f) void process(const DetInfo& info, const FCCD::FccdConfigV2& config) int process(Xtc* xtc)
Functions
void usage(char* progname) int main(int argc, char* argv[])
app/XtcMonitorMsg.cc and app/XtcMonitorMsg.hh
Classes
- class XtcMonitorMsg
Public Member FunctionsStatic Public Member FunctionsXtcMonitorMsg () XtcMonitorMsg (int bufferIndex) ~XtcMonitorMsg () int bufferIndex () const int numberOfBuffers () const int sizeOfBuffers () const XtcMonitorMsg * bufferIndex (int b) void numberOfBuffers (int n) void sizeOfBuffers (int s)
static void sharedMemoryName (const char *tag, char *buffer) static void eventInputQueue (const char *tag, unsigned client, char *buffer) static void eventOutputQueue (const char *tag, unsigned client, char *buffer) static void transitionInputQueue (const char *tag, unsigned client, char *buffer) static void discoveryQueue (const char *tag, char *buffer)
app/XtcMonitorServer.cc and app/XtcMonitorServer.hh
Classes
- class Pds::XtcMonitorServer
Public TypesPublic Member FunctionsnumberofTrBuffers = 8 Handled Deferred enum { numberofTrBuffers = 8 } enum Result { Handled, Deferred }
Protected Member Functions// Constructor and destructor XtcMonitorServer (const char *tag, unsigned sizeofBuffers, unsigned numberofEvBuffers, unsigned numberofClients, unsigned sequenceLength=1) virtual ~XtcMonitorServer() Result events (Dgram *dg) void routine ()
void _pop_transition ()
- class Pds::ShMsg
This class is defined in XtcMonitorServer.cc.
Public Member Functions// Constructors and destructor ShMsg () ShMsg (const XtcMonitorMsg &m, Dgram *dg) ~ShMsg () const XtcMonitorMsg & msg () const Dgram * dg () const
- class Pds::EventSequence
This class is defined in XtcMonitorServer.cc
Public Member Functions// Constructor and destructor EventSequence (unsigned n) ~EventSequence () bool complete () const Dgram * dgram (unsigned i) const unsigned current () const unsigned depth () const void insert (Dgram *dg) void clear ()
app/xtcmonserver.cc
Classes
- class MyMonitorServer
Inherits from XtcMonitorServer
Public Member Functions// Constructor and destructor MyMonitorServer (const char *tag, unsigned sizeofBuffers, unsigned numberofEvBuffers, unsigned numberofClients, unsigned sequenceLength) ~MyMonitorServer () XtcMonitorServer::Result events (Dgram *dg) Dgram * newDatagram () void deleteDatagram (Dgram *dg)
Functions
long long int timeDiff (struct timespec *end, struct timespec *start) void usage (char *progname) void sigfunc (int sig_no) int main (int argc, char *argv[])
app/XtcMonitorClient.cc and app/XtcMonitorClient.hh
Classes
- class Pds::XtcMonitorClient
Base class.
Public Member Functions// Constructor and virtual destructor XtcMonitorClient () virtual ~XtcMonitorClient () int run (const char *partitionTag, int tr_index=0) int run (const char *partitionTag, int tr_index, int ev_index) virtual int processDgram (Dgram *)
- class Pds::DgramHandler
(This class is defined in XtcMonitorClient.cc, not mentioned in .hh file)
Public Member Functions:// Constructors DgramHandler (XtcMonitorClient &client, mqd_t trq, mqd_t evqin, mqd_t *evqout, unsigned ev_index, const char *tag, char *myShm) // Destructor ~DgramHandler () // Functions bool event () bool transition ()
app/xtcmonclient.cc
Classes
- class MyMonitorClient
Inherits from Pds::XtcMonitorClient, implements its own processDgram function.
Public Member Functions// Constructor MyMonitorClient (int rate) int processDgram (Pds::Dgram *dg)
Functions
void usage (char *progname) int main (int argc, char *argv[])
app/xtcMonClientExample.cc
Another example of an xtc monitoring client.
Classes
- class myLevelIter
This one is similar to the implementation in e.g.bldreader.cc
- class MyXtcMonitorClient
This one is similar to the implementation inxtcmonclient.cc
- Functions
void usage (char *progname) int main (int argc, char *argv[])
app/XtcEpicsIterator.cc and app/XtcEpicsIterator.hh
*Classes
- class Pds::XtcEpicsIterator
Public Member FunctionsStatic Public Attributes// Constructor XtcEpicsIterator (Xtc *xtc, unsigned int iDepth) virtual int process (Xtc *xtc)
static const int iXtcVersion = 1 static const Src srcLevel static const int iMaxXtcSize = sizeof(EpicsPvCtrl<DBR_DOUBLE>) * 2600 static const TypeId::Type typeIdXtc = TypeId::Id_Epics
app/XtcEpicsFileReader.cc and app/XtcEpicsFileReader.hh
Classes
- class Pds::XtcEpicsFileReader
Public Member Functions// Constructor and destructor XtcEpicsFileReader (char *lcFnXtc) ~XtcEpicsFileReader () int doFileRead ()
app/xtcEpicsReaderTest.cc
Functions
int Pds::xtcEpicsReadTest (char *sFnXtc) void showUsageXtcEpicsTest () void showVersionXtcEpicsTest () int main (int argc, char **argv)
app/xtcreader.cc
Classes
- class myLevelIter
Similar implementation as in e.g.cfgreader.cc
.
Functions
void usage (char *progname) int main (int argc, char *argv[])
Overview
Content Tools