1 #ifndef GCP_RECEIVER_DIOCLIENT_H
2 #define GCP_RECEIVER_DIOCLIENT_H
13 #include "Utilities/DIOClient.h"
15 #include "gcp/util/common/Frequency.h"
16 #include "gcp/util/common/RegDate.h"
21 class BoardDataFrameManager;
22 class RegMapDataFrameManager;
23 class ArrayMapDataFrameManager;
28 class DioClient :
public MuxReadout::DIOClient_BaseClass {
33 DioClient(std::string dioHost,
unsigned short dioPort,
34 std::string hwHost,
unsigned short hwPort,
35 unsigned int nSamplesPerSecond,
bool batch=
false);
57 static const unsigned defaultNTaps_ = 129;
61 void setSampling(
unsigned sampling);
62 virtual void archiveSubSampling(
unsigned sampling);
68 void setFilterNtap(
unsigned ntaps);
69 void setFilter(
unsigned mask,
double freqHz,
unsigned ntaps);
73 virtual void setUpFilter() {};
91 void addBatchChannel(std::string channelSpec);
97 bool addColumn(MuxReadout::DIOColumnToken column);
101 virtual void initializeChannels() {};
105 bool start(
int sampleCount=-1);
107 virtual void bufferData(vector<MuxReadout::DIODatum>& data);
110 std::vector<MuxReadout::DIODatum>& data,
114 unsigned short hwPort_;
116 std::string dioHost_;
117 unsigned short dioPort_;
119 unsigned sampleCount_;
120 unsigned nSamplesPerSecond_;
124 bool needFirstValidSample_;
133 void registerError();
134 void configureFilterFunction();
135 bool incrementSampleCount();
141 std::vector<std::string> channels_;
143 std::vector<MuxReadout::DIODatum> data_;
152 #endif // End #ifndef GCP_RECEIVER_DIOCLIENT_H
Definition: BoardDataFrameManager.h:31
virtual void bufferData(vector< MuxReadout::DIODatum > &data)
Definition: DioClient.cc:328
virtual void releaseReadFrame()
Definition: DioClient.cc:233
Definition: DioClient.h:28
bool isConnected()
Definition: DioClient.cc:152
bool start(int sampleCount=-1)
Definition: DioClient.cc:127
void addChannel(std::string channelSpec)
Definition: DioClient.cc:85
void setFilter(gcp::util::Frequency freq, unsigned ntaps)
Definition: DioClient.cc:266
Definition: ArrayMapDataFrameManager.h:28
virtual gcp::util::RegMapDataFrameManager * grabReadFrame()
Definition: DioClient.cc:228
bool addColumn(MuxReadout::DIOColumnToken column)
Definition: DioClient.cc:98
DioClient(std::string dioHost, unsigned short dioPort, std::string hwHost, unsigned short hwPort, unsigned int nSamplesPerSecond, bool batch=false)
Definition: DioClient.cc:19
bool connect()
Definition: DioClient.cc:160
bool dataAreReady()
Definition: DioClient.cc:238
Definition: RegMapDataFrameManager.h:26
virtual ~DioClient()
Definition: DioClient.cc:80
bool bufferNextSample()
Definition: DioClient.cc:195
Definition: Frequency.h:21