Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEVIOBufferWriter Class Reference

#include <DEVIOBufferWriter.h>

Public Member Functions

 DEVIOBufferWriter (bool compact_flag=false, bool prefer_emulated_flag=false)
 
 ~DEVIOBufferWriter (void)
 
void WriteEventToBuffer (JEventLoop *loop, vector< uint32_t > &buff, vector< const JObject * > objects_to_save) const
 
void WriteEventToBuffer (JEventLoop *locEventLoop, vector< uint32_t > &buff) const
 
void SetROCsToWriteOut (set< uint32_t > &new_rocs_to_write_out)
 

Protected Member Functions

void WriteBuiltTriggerBank (vector< uint32_t > &buff, JEventLoop *loop, vector< const DCODAROCInfo * > &coda_rocinfos, vector< const DCODAEventInfo * > &coda_events) const
 
void WriteCAEN1290Data (vector< uint32_t > &buff, vector< const DCAEN1290TDCHit * > &caen1290hits, vector< const DCAEN1290TDCConfig * > &caen1290configs, unsigned int Nevents) const
 
void WriteF1Data (vector< uint32_t > &buff, vector< const DF1TDCHit * > &F1hits, vector< const DF1TDCTriggerTime * > &F1tts, vector< const DF1TDCConfig * > &F1configs, unsigned int Nevents) const
 
void Writef250Data (vector< uint32_t > &buff, vector< const Df250PulseData * > &f250pulses, vector< const Df250TriggerTime * > &f250tts, vector< const Df250WindowRawData * > &f250wrds, vector< const Df250Scaler * > &f250scalers, unsigned int Nevents) const
 
void Writef250Data (vector< uint32_t > &buff, vector< const Df250PulseIntegral * > &f250pis, vector< const Df250TriggerTime * > &f250tts, vector< const Df250WindowRawData * > &f250wrds, vector< const Df250Scaler * > &f250scalers, unsigned int Nevents) const
 
void Writef125Data (vector< uint32_t > &buff, vector< const Df125PulseIntegral * > &f125pis, vector< const Df125CDCPulse * > &f125cdcpulses, vector< const Df125FDCPulse * > &f125fdcpulses, vector< const Df125TriggerTime * > &f125tts, vector< const Df125WindowRawData * > &f125wrds, vector< const Df125Config * > &f125configs, unsigned int Nevents) const
 
void WriteDircData (vector< uint32_t > &buff, vector< const DDIRCTDCHit * > &dirctdchits, vector< const DDIRCTriggerTime * > &dirctts, unsigned int Nevents) const
 
void WriteEPICSData (vector< uint32_t > &buff, vector< const DEPICSvalue * > epicsValues) const
 
void WriteEventTagData (vector< uint32_t > &buff, uint64_t event_status, const DL3Trigger *l3trigger) const
 
template<typename T , typename M , typename F >
void WriteBORSingle (vector< uint32_t > &buff, M m, F &&modFunc) const
 
void WriteBORData (JEventLoop *loop, vector< uint32_t > &buff) const
 
void WriteTSSyncData (JEventLoop *loop, vector< uint32_t > &buff, const DL1Info *l1info) const
 
void WriteDVertexData (JEventLoop *loop, vector< uint32_t > &buff, const DVertex *vertex) const
 
void WriteDEventRFBunchData (JEventLoop *loop, vector< uint32_t > &buff, const DEventRFBunch *rftime) const
 

Protected Attributes

bool write_out_all_rocs
 
set< uint32_t > rocs_to_write_out
 
bool COMPACT
 
bool PREFER_EMULATED
 

Detailed Description

Definition at line 60 of file DEVIOBufferWriter.h.

Constructor & Destructor Documentation

DEVIOBufferWriter::DEVIOBufferWriter ( bool  compact_flag = false,
bool  prefer_emulated_flag = false 
)
inline

Definition at line 63 of file DEVIOBufferWriter.h.

DEVIOBufferWriter::~DEVIOBufferWriter ( void  )
inline

Definition at line 69 of file DEVIOBufferWriter.h.

Member Function Documentation

void DEVIOBufferWriter::SetROCsToWriteOut ( set< uint32_t > &  new_rocs_to_write_out)
inline

Definition at line 74 of file DEVIOBufferWriter.h.

void DEVIOBufferWriter::WriteBORData ( JEventLoop *  loop,
vector< uint32_t > &  buff 
) const
protected
template<typename T , typename M , typename F >
void DEVIOBufferWriter::WriteBORSingle ( vector< uint32_t > &  buff,
m,
F &&  modFunc 
) const
protected

Write BOR config objects for all crates containing a single module type. This is called from WriteBORData below.

Definition at line 1648 of file DEVIOBufferWriter.cc.

References c.

void DEVIOBufferWriter::WriteBuiltTriggerBank ( vector< uint32_t > &  buff,
JEventLoop *  loop,
vector< const DCODAROCInfo * > &  coda_rocinfos,
vector< const DCODAEventInfo * > &  coda_events 
) const
protected
void DEVIOBufferWriter::WriteCAEN1290Data ( vector< uint32_t > &  buff,
vector< const DCAEN1290TDCHit * > &  caen1290hits,
vector< const DCAEN1290TDCConfig * > &  caen1290configs,
unsigned int  Nevents 
) const
protected
void DEVIOBufferWriter::WriteDEventRFBunchData ( JEventLoop *  loop,
vector< uint32_t > &  buff,
const DEventRFBunch rftime 
) const
protected
void DEVIOBufferWriter::WriteDircData ( vector< uint32_t > &  buff,
vector< const DDIRCTDCHit * > &  dirctdchits,
vector< const DDIRCTriggerTime * > &  dirctts,
unsigned int  Nevents 
) const
protected
void DEVIOBufferWriter::WriteDVertexData ( JEventLoop *  loop,
vector< uint32_t > &  buff,
const DVertex vertex 
) const
protected
void DEVIOBufferWriter::WriteEPICSData ( vector< uint32_t > &  buff,
vector< const DEPICSvalue * >  epicsValues 
) const
protected

Definition at line 1532 of file DEVIOBufferWriter.cc.

References DEPICSvalue::nameval, and str.

Referenced by WriteEventToBuffer().

void DEVIOBufferWriter::WriteEventTagData ( vector< uint32_t > &  buff,
uint64_t  event_status,
const DL3Trigger l3trigger 
) const
protected
void DEVIOBufferWriter::WriteEventToBuffer ( JEventLoop *  loop,
vector< uint32_t > &  buff,
vector< const JObject * >  objects_to_save 
) const

This method will grab certain low-level objects and write them into EVIO banks in a format compatible with the DAQ library.

Definition at line 20 of file DEVIOBufferWriter.cc.

References COMPACT, kSTATUS_BOR_EVENT, Nevents, WriteBORData(), WriteBuiltTriggerBank(), WriteCAEN1290Data(), WriteDEventRFBunchData(), WriteDircData(), WriteDVertexData(), WriteEPICSData(), WriteEventTagData(), Writef125Data(), WriteF1Data(), Writef250Data(), and WriteTSSyncData().

Referenced by DEventWriterEVIO::Write_EVIOEvent(), and WriteEventToBuffer().

void DEVIOBufferWriter::WriteEventToBuffer ( JEventLoop *  locEventLoop,
vector< uint32_t > &  buff 
) const

Definition at line 11 of file DEVIOBufferWriter.cc.

References WriteEventToBuffer().

void DEVIOBufferWriter::Writef125Data ( vector< uint32_t > &  buff,
vector< const Df125PulseIntegral * > &  f125pis,
vector< const Df125CDCPulse * > &  f125cdcpulses,
vector< const Df125FDCPulse * > &  f125fdcpulses,
vector< const Df125TriggerTime * > &  f125tts,
vector< const Df125WindowRawData * > &  f125wrds,
vector< const Df125Config * > &  f125configs,
unsigned int  Nevents 
) const
protected
void DEVIOBufferWriter::WriteF1Data ( vector< uint32_t > &  buff,
vector< const DF1TDCHit * > &  F1hits,
vector< const DF1TDCTriggerTime * > &  F1tts,
vector< const DF1TDCConfig * > &  F1configs,
unsigned int  Nevents 
) const
protected
void DEVIOBufferWriter::WriteTSSyncData ( JEventLoop *  loop,
vector< uint32_t > &  buff,
const DL1Info l1info 
) const
protected

Member Data Documentation

bool DEVIOBufferWriter::COMPACT
protected

Definition at line 155 of file DEVIOBufferWriter.h.

Referenced by WriteEventToBuffer().

bool DEVIOBufferWriter::PREFER_EMULATED
protected

Definition at line 156 of file DEVIOBufferWriter.h.

Referenced by Writef125Data(), and Writef250Data().

set<uint32_t> DEVIOBufferWriter::rocs_to_write_out
protected
bool DEVIOBufferWriter::write_out_all_rocs
protected

The documentation for this class was generated from the following files: