| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RtmData.cc

Go to the documentation of this file.
00001 #include "RtmReadoutFormat/RtmData.h"
00002 #include "RtmReadoutFormat/RtmTraits.h"
00003 
00004 #include "DaqReadoutFormat/ByteBuffer.h"
00005 
00006 using DybDaq::RtmData;
00007 
00008 RtmData::RtmData(const unsigned int rpcCFId,
00009                  const bool transErr,
00010                  const bool romAlmostFull,
00011                  const bool rtmAlmostFull,
00012                  const bool fullFlag,
00013                  const bool validGPS,
00014                  const bool validCLK,
00015                  const bool usingUTC,
00016                  const unsigned int second,
00017                  const unsigned int nanoSecond,
00018                  const unsigned int accumulation,
00019                  const unsigned int triggerRot,
00020                  const unsigned int triggerMap,
00021                  const RtmTraits& traits)
00022 : RtmBuffer(new char[ traits.rtmSize() * kBytesInInt ], traits)
00023 {
00024    traits.initializeRtm( buffer() );
00025    setRpcCFId(rpcCFId);
00026    setTransErr(transErr);
00027    setRomAlmostFull(romAlmostFull);
00028    setRtmAlmostFull(rtmAlmostFull);
00029    setFullFlag(fullFlag);
00030    setValidGPS(validGPS);
00031    setValidCLK(validCLK);
00032    setUsingUTC(usingUTC);
00033    setSecond(second);
00034    setNanoSecond(nanoSecond);
00035    setAccumulation(accumulation);
00036    setTriggerRot(triggerRot);
00037    setTriggerMap(triggerMap);
00038 }
00039 
00040 RtmData::RtmData(const ByteBuffer& byteBuffer, const RtmTraits& traits)
00041    : RtmBuffer(byteBuffer, traits)
00042 {
00043    byteBuffer.position( byteBuffer.position() + rtmTraits().rtmSize() * kBytesInInt );
00044 }
00045 
00046 RtmData::~RtmData()
00047 {
00048 }
00049 
00050 unsigned int RtmData::formatComponent() const {
00051     return RtmTraits::kData;
00052 }
00053 
00054 unsigned int RtmData::rpcCFId() const {
00055    return readUnsignedInt(RtmTraits::kRpcCFId);
00056 }
00057 
00058 bool RtmData::transErr() const {
00059    return readBool(RtmTraits::kTransErr);
00060 }
00061 
00062 bool RtmData::romAlmostFull() const {
00063    return readBool(RtmTraits::kRomAlmostFull);
00064 }
00065 
00066 bool RtmData::rtmAlmostFull() const {
00067    return readBool(RtmTraits::kRtmAlmostFull);
00068 }
00069 
00070 bool RtmData::fullFlag() const {
00071    return readBool(RtmTraits::kFullFlag);
00072 }
00073 
00074 bool RtmData::validGPS() const {
00075    return readBool(RtmTraits::kValidGPS);
00076 }
00077 
00078 bool RtmData::validCLK() const {
00079    return readBool(RtmTraits::kValidCLK);
00080 }
00081 
00082 bool RtmData::usingUTC() const {
00083    return readBool(RtmTraits::kUsingUTC);
00084 }
00085 
00086 unsigned int RtmData::second() const {
00087    return readUnsignedInt(RtmTraits::kSecond);
00088 }
00089 
00090 unsigned int RtmData::nanoSecond() const {
00091    return readUnsignedInt(RtmTraits::kNanoSecond);
00092 }
00093 
00094 unsigned int RtmData::accumulation() const {
00095    return readUnsignedInt(RtmTraits::kAccumulation);
00096 }
00097 
00098 unsigned int RtmData::triggerRot() const {
00099    return readUnsignedInt(RtmTraits::kTriggerRot);
00100 }
00101 
00102 unsigned int RtmData::triggerMap() const {
00103    return readUnsignedInt(RtmTraits::kTriggerMap);
00104 }
00105 
00106 
00107 unsigned int RtmData::bufferSize() const {
00108    return rtmTraits().rtmSize();
00109 }
00110 
00111 
00112 void RtmData::setRpcCFId(const unsigned int rpcCFId) {
00113    writeField( rpcCFId, RtmTraits::kRpcCFId );
00114 }
00115 
00116 void RtmData::setTransErr(const bool transErr) {
00117    writeField( transErr, RtmTraits::kTransErr);
00118 }
00119 
00120 void RtmData::setRomAlmostFull(const bool romAlmostFull) {
00121    writeField( romAlmostFull, RtmTraits::kRomAlmostFull);
00122 }
00123 
00124 void RtmData::setRtmAlmostFull(const bool rtmAlmostFull) {
00125    writeField( rtmAlmostFull, RtmTraits::kRtmAlmostFull);
00126 }
00127 
00128 void RtmData::setFullFlag(const bool fullFlag) {
00129    writeField( fullFlag, RtmTraits::kFullFlag);
00130 }
00131 
00132 void RtmData::setValidGPS(const bool validGPS) {
00133    writeField( validGPS, RtmTraits::kValidGPS);
00134 }
00135 
00136 void RtmData::setValidCLK(const bool validCLK) {
00137    writeField( validCLK, RtmTraits::kValidCLK);
00138 }
00139 
00140 void RtmData::setUsingUTC(const bool usingUTC) {
00141    writeField( usingUTC, RtmTraits::kUsingUTC);
00142 }
00143 
00144 void RtmData::setSecond(const unsigned int second) {
00145    writeField( second, RtmTraits::kSecond);
00146 }
00147 
00148 void RtmData::setNanoSecond(const unsigned int nanoSecond) {
00149    writeField( nanoSecond, RtmTraits::kNanoSecond);
00150 }
00151 
00152 void RtmData::setAccumulation(const unsigned int accumulation) {
00153    writeField( accumulation, RtmTraits::kAccumulation);
00154 }
00155 
00156 void RtmData::setTriggerRot(const unsigned int triggerRot) {
00157    writeField( triggerRot, RtmTraits::kTriggerRot);
00158 }
00159 
00160 void RtmData::setTriggerMap(const unsigned int triggerMap) {
00161    writeField( triggerMap, RtmTraits::kTriggerMap);
00162 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:47 2011 for RtmReadoutFormat by doxygen 1.4.7