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

In This Package:

RawDataEvent.cc

Go to the documentation of this file.
00001 #include "RawDataEvent.h"
00002 
00003 #include "GaudiMessages/GaudiMessages.h"
00004 
00005 static const char* DYBINDENT="   ";
00006 
00007 void RawDataEvent::FileHeader::print()
00008 {
00009   GaudiMsgStreams log("RawDataEvent");
00010 
00011   log.verbose() << std::endl
00012     << "FileHeader:" << std::endl
00013     << DYBINDENT << "version=" << m_version << std::endl
00014     << DYBINDENT << "fileNumber=" << m_fileNumber << std::endl
00015     << DYBINDENT << "date=" << m_date << std::endl
00016     << DYBINDENT << "time=" << m_time << std::endl
00017     << DYBINDENT << "sizeLimitBlocks=" << m_sizeLimitBlocks << std::endl
00018     << DYBINDENT << "sizeLimitMB=" << m_sizeLimitMB << std::endl
00019     << DYBINDENT << "appName=" << m_appName << std::endl
00020     << DYBINDENT << "fileNameTag=" << m_fileNameTag << std::endl
00021     << DYBINDENT << "runNumber=" << m_runNumber << std::endl
00022     << std::hex
00023     << DYBINDENT << "recEnable=0x" << m_recEnable << std::endl
00024     << DYBINDENT << "triggerType=0x" << m_triggerType << std::endl
00025     << DYBINDENT << "detectorMask=0x" << m_detectorMask << std::endl
00026     << std::dec 
00027     ;
00028 
00029   if (! m_metadataString.empty()) {
00030     log.verbose() << DYBINDENT << "metadata strings: " << std::endl;
00031     for (unsigned int i = 0; i < m_metadataString.size(); i++) {
00032       log.verbose() << DYBINDENT << DYBINDENT << i << ": " << m_metadataString[i] << std::endl;
00033     }
00034   }
00035   log.verbose() << endreq;
00036 }
00037 
00038 void RawDataEvent::FileFooter::print()
00039 {
00040   GaudiMsgStreams log("RawDataEvent");
00041   log.verbose() << std::endl
00042     << "FileFooter:" << std::endl
00043     << DYBINDENT << "dateEnd=" << m_dateEnd << std::endl
00044     << DYBINDENT << "timeEnd=" << m_timeEnd << std::endl
00045     << DYBINDENT << "eventsInFile=" << m_eventsInFile << std::endl
00046     << DYBINDENT << "dataInFile=" << m_dataInFile << std::endl
00047     << DYBINDENT << "eventsInRun=" << m_eventsInRun << std::endl
00048     << DYBINDENT << "dataInRun=" << m_dataInRun << std::endl
00049     << DYBINDENT << "status=" << m_status
00050     << endreq;
00051 }
00052 
00053 void RawDataEvent::PmtChannel::print()
00054 {
00055   GaudiMsgStreams log("RawDataEvent");
00056   log.verbose() << std::endl
00057                 << DYBINDENT << "PmtChannel: id=" << m_channel;
00058   if (m_tdc.size() != m_adc.size()) {
00059     log.verbose() 
00060       << DYBINDENT 
00061       << "sizes of TDC and ADC not same: tdc.size=" << m_tdc.size() 
00062       << " adc.size=" << m_adc.size();
00063   } 
00064   else {
00065     log.verbose() << DYBINDENT << "(TDC(hit), ADC(cycle, range)):";
00066     for (unsigned int i = 0; i < m_tdc.size(); i++) {
00067       log.verbose() 
00068         << " (" << m_tdc[i] << "(" << m_tdcHitCount[i] << "), "
00069         << m_adc[i] << "(" << m_adcPeakingCycle[i] << ", " << m_adcRange[i] << "))";
00070     }
00071   }
00072   log.verbose() << endreq;
00073 }
00074 
00075 void RawDataEvent::FadcChannel::print()
00076 {
00077   GaudiMsgStreams log("RawDataEvent");
00078   log.verbose() << std::endl
00079     << DYBINDENT << "FadcChannel: id=" << m_channel;
00080   log.verbose() << DYBINDENT << "ADC data: (" << m_adcData.size() << " points)";
00081   for (unsigned int i = 0; i < m_adcData.size(); i++) {
00082     log.verbose() << std::hex << m_adcData[i] << std::dec << ",";
00083   }
00084   log.verbose() << endreq;
00085 }
00086 
00087 void RawDataEvent::Rom::print()
00088 {
00089   GaudiMsgStreams log("RawDataEvent");
00090   log.verbose()<< std::endl
00091     << "Rom:" << std::endl
00092     << DYBINDENT << "type=" << m_type << " (1=FEE 2=FADC 3=LTB 4=ROM 5=RTM 6=MTB)" << std::endl
00093     << DYBINDENT << "slot=" << m_slot << std::endl
00094     << DYBINDENT << "size=" << m_size << " bytes"
00095     << endreq;
00096 }
00097 
00098 void RawDataEvent::RomFee::print()
00099 {
00100   Rom::print();
00101   GaudiMsgStreams log("RawDataEvent");
00102   log.verbose() << std::endl
00103     << DYBINDENT << "triggerNum=" << m_triggerNum << std::endl
00104     << DYBINDENT << "triggerType=" << m_triggerType << std::endl
00105     << DYBINDENT << "status=" << m_status << std::endl
00106     << DYBINDENT << "dataLength=" << m_dataLength << " bytes" << std::endl
00107     << DYBINDENT << "total PMT channels=" << m_channels.size() << std::endl;
00108 
00109   for (unsigned int i = 0; i < m_channels.size(); i++) {
00110     m_channels[i].print();
00111   }
00112   log.verbose() << endreq;
00113 }
00114 
00115 void RawDataEvent::RomFadc::print()
00116 {
00117   Rom::print();
00118   GaudiMsgStreams log("RawDataEvent");
00119   log.verbose() << std::endl
00120     << DYBINDENT << "triggerNum=" << m_triggerNum << std::endl
00121     << DYBINDENT << "triggerType=" << m_triggerType << std::endl
00122     << DYBINDENT << "status=" << m_status << std::endl
00123     << DYBINDENT << "dataLength=" << m_dataLength << " bytes" << std::endl
00124     << DYBINDENT << "total FADC channels=" << m_channels.size() << std::endl;
00125 
00126   for (unsigned int i = 0; i < m_channels.size(); i++) {
00127     m_channels[i].print();
00128   }
00129   log.verbose() << endreq;
00130 }
00131 
00132 void RawDataEvent::LtbFrameUTC::print()
00133 {
00134   LtbFrame::print();
00135   GaudiMsgStreams log("RawDataEvent");
00136   log.verbose() 
00137     << DYBINDENT << "(day,hour,minute,second) = (" << m_day << "," << std::hex << m_hour << "," << m_minute
00138     << "," << m_second << ")" << std::dec << std::endl
00139     << DYBINDENT << "Timestamp=" << timeStamp() << endreq;
00140 }
00141 
00142 void RawDataEvent::LtbFrameUnix::print()
00143 {
00144   LtbFrame::print();
00145   GaudiMsgStreams log("RawDataEvent");
00146   log.verbose() 
00147     << DYBINDENT << "second = " << m_unixSecHigh << 16 + m_unixSecLow << std::endl
00148     << DYBINDENT << "Timestamp=" << timeStamp() << endreq;
00149 }
00150 
00151 void RawDataEvent::LtbFrame::print()
00152 {
00153   GaudiMsgStreams log("RawDataEvent");
00154   log.verbose() << std::endl
00155     << DYBINDENT << "rot=0x" << std::hex << m_rot << std::dec << std::endl
00156     << DYBINDENT << "triggerSrc=0x" << std::hex << m_triggerSrc << std::dec << std::endl
00157     << DYBINDENT << "crossTriggerSrc=0x" << std::hex << m_crossTriggerSrc << std::dec
00158     << DYBINDENT << "accStat=" << m_accStat
00159     << DYBINDENT << ", GPSValid=" << m_GPSValid
00160     << DYBINDENT << ", timestampType=" << m_timestampType
00161     << DYBINDENT << ", clockSystemValid=" << m_clockSystemValid << std::endl
00162     << DYBINDENT << ", nanoSecond=" << (m_nanoSecondHigh << 4 + m_nanoSecondLow)/2 << std::endl
00163     << DYBINDENT << ", accumulation=" << (m_accumulationHigh << 4 + m_accumulationLow)/2 << std::endl
00164     << endreq;
00165 }
00166 
00167 void RawDataEvent::RomLtb::print()
00168 {
00169   Rom::print();
00170   GaudiMsgStreams log("RawDataEvent");
00171   log.verbose() << std::endl
00172                 << DYBINDENT << "total data frames=" << m_frames.size() << std::endl;
00173   for (unsigned int i = 0; i < m_frames.size(); i++) {
00174     m_frames[i]->print();
00175   }
00176   log.verbose() << endreq;
00177 }
00178 
00179 void RawDataEvent::print()
00180 {
00181   GaudiMsgStreams log("RawDataEvent");
00182   log.verbose() << std::endl
00183     << "<<------------------------------ Start of Decoded Raw Data Event ------------------------------>>" << std::endl
00184     << "Event:" << std::endl
00185     << DYBINDENT << "dataBlockNum=" << m_dataBlockNum << std::endl
00186     << DYBINDENT << "dataBlockSize=" << m_dataBlockSize << std::endl
00187     << DYBINDENT << "formatVersion=" << m_formatVersionMajor << "." << m_formatVersionMinor << std::endl
00188     << DYBINDENT << "evtSize=" << m_evtSize << std::endl
00189     << DYBINDENT << "siteId=" << m_siteId << std::endl
00190     << DYBINDENT << "positionId=" << m_positionId << std::endl
00191     << DYBINDENT << "runNum=" << m_runNum << std::endl
00192     << DYBINDENT << "evtNum=" << m_evtNum << std::endl
00193     << DYBINDENT << "dataType=" << m_dataType << " specific value=" << m_dataTypeSpecific << std::endl
00194     << DYBINDENT << "dataStatus=0x" << std::hex << m_dataStatus << std::dec << std::endl
00195     << DYBINDENT << "total modules=" << m_modules.size() << std::endl;
00196   for (unsigned int i = 0; i < m_modules.size(); i++) {
00197     m_modules[i]->print();
00198   }
00199   log.verbose()
00200     << "<<------------------------------ End of Decoded Raw Data Event ------------------------------>>" 
00201     << endreq;
00202 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:27:02 2011 for RawDataIO by doxygen 1.4.7