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 Functions
     void 	reset ()
     void 	dump () const
     void 	header () const
    
    Public Attributes
     unsigned 	seconds
     unsigned 	nanoseconds
     unsigned 	pulseId
     const BldDataFEEGasDetEnergy * 	gasdet
     const BldDataEBeamV0 * 	ebeamV0
     const BldDataEBeam * 	ebeam
     const BldDataPhaseCavity * 	phasecav
    
  • class myLevelIter
    Public Types
      enum {Stop, Continue};
    
    Public Member Functions
      // 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 of process(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 one process member function.
    Public Types:
    enum {Stop, Continue}
    
    Public Member Functions
    // 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 the process member function.
    Public Types
      enum {Stop, Continue}
      
    Public Member Functions
      // 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 the process member function in order to process data from several imaging detectors.
    Public Types:
      enum {Stop, Continue}
      
    Public Member Functions
      // 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 Functions
     	XtcMonitorMsg ()
     	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 Public Member Functions
          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 Types
       numberofTrBuffers = 8
       Handled
       Deferred
       enum  { numberofTrBuffers = 8 }
       enum  Result { Handled, Deferred }
       
    Public 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 ()
       
    Protected Member Functions
       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 in xtcmonclient.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 Functions
     
           // Constructor
           XtcEpicsIterator (Xtc *xtc, unsigned int iDepth)
    
           virtual int process (Xtc *xtc)
        
    Static Public Attributes
          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[])
  • No labels