#include <MatacqDataFormatter.h>
Definition at line 14 of file MatacqDataFormatter.h.
MatacqTBDataFormatter::MatacqTBDataFormatter |
( |
| ) |
|
|
inline |
virtual MatacqTBDataFormatter::~MatacqTBDataFormatter |
( |
| ) |
|
|
inlinevirtual |
Callback method for decoding raw data
- Parameters
-
data | raw data |
matacqDigiCollection | [out] digi collection object to fill with the decoded data |
Definition at line 18 of file MatacqDataFormatter.cc.
References edm::SortedCollection< T, SORT >::back(), filterCSVwithJSON::copy, gather_cfg::cout, FEDRawData::data(), relativeConstraints::empty, i, max(), printData(), edm::SortedCollection< T, SORT >::push_back(), FEDRawData::size(), and BeamSplash_cfg::version.
Referenced by EcalDCCTBUnpackingModule::produce(), and EcalDCCTB07UnpackingModule::produce().
20 std::cout <<
"****************************************************************\n";
21 std::cout <<
"********************** MATACQ decoder **************************\n";
22 std::cout <<
"****************************************************************\n";
25 for(
int i=0;
i <
max(100, (
int)data.
size()); ++
i){
27 << ((
i+1)%8?
" ":
"\n") ;
30 std::cout <<
"======================================================================\n";
31 #endif //MATACQ_DEBUG defined
37 #endif //MATACQ_DEBUG defined
39 const double ns = 1.e-9;
40 const double ps = 1.e-12;
41 double ts = ns/matacq.getFreqGHz();
43 ps*matacq.getTTrigPs():999.;
44 int version = matacq.getMatacqDataFormatVersion();
46 std::vector<int16_t> samples;
50 const std::vector<MatacqTBRawEvent::ChannelData>& chData = matacq.getChannelData();
51 for(
unsigned iCh=0; iCh < chData.size(); ++iCh){
53 samples.resize(chData[iCh].nSamples);
54 copy(chData[iCh].samples, chData[iCh].samples+chData[iCh].nSamples,
56 int chId = chData[iCh].chId;
57 std::vector<int16_t>
empty;
59 matacqDigiCollection.
push_back(matacqDigi);
60 matacqDigiCollection.
back().swap(samples);
void push_back(T const &t)
size_t size() const
Lenght of the data buffer in bytes.
const T & max(const T &a, const T &b)
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
const_reference back() const
void MatacqTBDataFormatter::printData |
( |
std::ostream & |
out, |
|
|
const MatacqTBRawEvent & |
event |
|
) |
| const |
|
private |
Definition at line 64 of file MatacqDataFormatter.cc.
References ecalMGPA::adc(), gather_cfg::cout, MatacqTBRawEvent::getBxId(), MatacqTBRawEvent::getChannelCount(), MatacqTBRawEvent::getChannelData(), MatacqTBRawEvent::getDccErrors(), MatacqTBRawEvent::getDccLen(), MatacqTBRawEvent::getEventId(), MatacqTBRawEvent::getFedId(), MatacqTBRawEvent::getFov(), MatacqTBRawEvent::getFreqGHz(), MatacqTBRawEvent::getMatacqDataFormatVersion(), MatacqTBRawEvent::getRunNum(), MatacqTBRawEvent::getStatus(), MatacqTBRawEvent::getTimeStamp(), MatacqTBRawEvent::getTriggerType(), and i.
Referenced by interpretRawData().
65 std::cout <<
"FED id: " << std::hex <<
"0x" << matacq.getFedId() << std::dec <<
"\n";
67 << std::hex <<
"0x" << matacq.getEventId() << std::dec <<
"\n";
68 std::cout <<
"FOV: " << std::hex <<
"0x" << matacq.getFov() << std::dec <<
"\n";
69 std::cout <<
"BX id: " << std::hex <<
"0x" << matacq.getBxId() << std::dec <<
"\n";
71 << std::hex <<
"0x" << matacq.getTriggerType() << std::dec <<
"\n";
72 std::cout <<
"DCC Length: " << matacq.getDccLen() <<
"\n";
73 std::cout <<
"Run number: " << matacq.getRunNum() <<
"\n";
75 << std::hex <<
"0x" << matacq.getDccErrors() << std::dec <<
"\n";
77 if(matacq.getStatus()){
78 std::cout <<
"Error in matacq data. Errot code: "
79 << std::hex <<
"0x" << matacq.getStatus() << std::dec <<
"\n";
82 std::cout <<
"MATACQ data format version: " << matacq.getMatacqDataFormatVersion()
84 std::cout <<
"Sampling frequency: " << matacq.getFreqGHz() <<
" GHz\n";
85 std::cout <<
"MATACQ channel count: " << matacq.getChannelCount() <<
"\n";
86 time_t timeStamp = matacq.getTimeStamp();
87 std::cout <<
"Data acquired on : " << ctime(&timeStamp);
89 const std::vector<MatacqTBRawEvent::ChannelData>& channels = matacq.getChannelData();
90 for(
unsigned i=0;
i< channels.size(); ++
i){
91 std::cout <<
"-------------------------------------- Channel "
93 <<
": " << std::setw(4) << channels[
i].nSamples
94 <<
" samples --------------------------------------\n";
96 for(
int iSample = 0; iSample<channels[
i].nSamples; ++iSample){
99 << ((iSample%20==19)?
"\n":
" ");
102 std::cout <<
"=================================================="
103 "==================================================\n\n";
int adc(sample_type sample)
get the ADC sample (12 bits)