Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-02 08:21:01

0001 
0002 // device_i.h
0003 #ifndef __DAQ_DEVICE_H__
0004 #define __DAQ_DEVICE_H__
0005 
0006 #include <SubevtStructures.h>
0007 #include <SubevtConstants.h>
0008 #include <iostream>
0009 #include <iomanip>
0010 #include <stdio.h>
0011 #include "TriggerHandler.h"
0012 
0013 
0014 int registerTriggerHandler(TriggerHandler *);
0015 int clearTriggerHandler();
0016 int daq_getEventFormat();
0017 
0018 class daq_device {
0019 
0020 public:
0021 
0022   daq_device();
0023 
0024 
0025   virtual ~daq_device();
0026 
0027 
0028   virtual void identify(std::ostream& os = std::cout) const = 0;
0029 
0030   // the non-idl virtual functions
0031   virtual int max_length(const int etype) const =0;
0032 
0033   // functions to do the work
0034   virtual int init(){return 0;};
0035   virtual int endrun(){return 0;};
0036   virtual int rearm( const int etype){return 0;};
0037   virtual int put_data(const int, int *, const int) =0;
0038 
0039   virtual int subeventid () const 
0040     {
0041       return m_subeventid;
0042     }
0043 
0044   static int formatPacketHdr(int * adr);
0045   
0046  protected:
0047   long m_subeventid;
0048   long m_eventType;
0049 
0050 };
0051 
0052 
0053 
0054 #endif