![]() |
![]() |
#include <IORawData/CaloPatterns/src/HtrXmlPatternWriter.h>
Public Member Functions | |
HtrXmlPatternWriter () | |
void | setTagName (std::string tn) |
void | writePattern (HalfHtrData *spigotData, int fiber, std::ostream &os, int level=0) |
Private Member Functions | |
void | packWordsStd (int adc0, int adc1, int adc2, int capid, unsigned int &w1, unsigned int &w2) |
Private Attributes | |
std::string | m_stamp |
std::string | m_tagName |
Definition at line 7 of file HtrXmlPatternWriter.h.
HtrXmlPatternWriter::HtrXmlPatternWriter | ( | ) |
Definition at line 11 of file HtrXmlPatternWriter.cc.
References m_stamp.
00011 { 00012 // set the timestamp! 00013 time_t now1=time(0); 00014 struct tm* now=localtime(&now1); 00015 00016 char buffer[1024]; 00017 strftime(buffer,1024,"%Y-%m-%d %H:%M:%S",now); 00018 00019 m_stamp=buffer; 00020 }
void HtrXmlPatternWriter::packWordsStd | ( | int | adc0, | |
int | adc1, | |||
int | adc2, | |||
int | capid, | |||
unsigned int & | w1, | |||
unsigned int & | w2 | |||
) | [private] |
Definition at line 59 of file HtrXmlPatternWriter.cc.
Referenced by writePattern().
00059 { 00060 w1=0x3; 00061 w1|=(capid&0x3)<<3; 00062 w1|=(capid&0x3)<<5; 00063 w1|=(capid&0x3)<<7; 00064 w1|=adc2<<9; 00065 w1|=0x10000; // data valid 00066 w2=adc1<<1; 00067 w2|=adc0<<9; 00068 w2|=0x10000; // data valid 00069 }
void HtrXmlPatternWriter::setTagName | ( | std::string | tn | ) | [inline] |
Definition at line 10 of file HtrXmlPatternWriter.h.
References m_tagName.
Referenced by HtrXmlPatternTool::HtrXmlPatternTool().
00010 { m_tagName=tn; }
void HtrXmlPatternWriter::writePattern | ( | HalfHtrData * | spigotData, | |
int | fiber, | |||
std::ostream & | os, | |||
int | level = 0 | |||
) |
Definition at line 22 of file HtrXmlPatternWriter.cc.
References lat::endl(), ChannelPattern::getCoded(), HalfHtrData::getCrate(), HalfHtrData::getDCC(), HalfHtrData::getPattern(), HalfHtrData::getSlot(), HalfHtrData::getSpigot(), HalfHtrData::getTB(), i, m_stamp, m_tagName, p1, p2, p3, packWordsStd(), tabbing(), w1, and w2.
Referenced by HtrXmlPatternTool::writeXML().
00022 { 00023 00024 os << tabbing(level) << "<CFGBrick>" << std::endl; 00025 os << tabbing(level+1) << "<Parameter name='DCC' type='int'>" << std::dec << spigotData->getDCC() << "</Parameter>" << std::endl; 00026 os << tabbing(level+1) << "<Parameter name='SPIGOT' type='int'>" << std::dec << spigotData->getSpigot() << "</Parameter>" << std::endl; 00027 os << tabbing(level+1) << "<Parameter name='CRATE' type='int'>" << std::dec << spigotData->getCrate() << "</Parameter>" << std::endl; 00028 os << tabbing(level+1) << "<Parameter name='SLOT' type='int'>" << spigotData->getSlot() << "</Parameter>" << std::endl; 00029 os << tabbing(level+1) << "<Parameter name='TOPBOTTOM' type='int'>" << spigotData->getTB() << "</Parameter>" << std::endl; 00030 os << tabbing(level+1) << "<Parameter name='FIBER' type='int'>" << fiber << "</Parameter>" << std::endl; 00031 00032 int genIndex=fiber+(spigotData->getTB()*10)+(spigotData->getSlot()*100)+(spigotData->getCrate()*10000); 00033 os << tabbing(level+1) << "<Parameter name='GENERALIZEDINDEX' type='int'>" << std::dec << genIndex << "</Parameter>" << std::endl; 00034 os << tabbing(level+1) << "<Parameter name='CREATIONTAG' type='string'>" << m_tagName << "</Parameter>" << std::endl; 00035 os << tabbing(level+1) << "<Parameter name='CREATIONSTAMP' type='string'>" << m_stamp << "</Parameter>" << std::endl; 00036 os << tabbing(level+1) << "<Parameter name='PATTERN_SPEC_NAME' type='string'>" << m_tagName << "</Parameter>" << std::endl; 00037 00038 00039 // CREATIONTAG, CREATIONSTAMP, PATTERN_SPEC_NAME 00040 00041 os << tabbing(level+1) << "<Data elements='1024' encoding='hex'>" << std::endl; 00042 00043 ChannelPattern* p1=spigotData->getPattern((fiber-1)*3+1); 00044 ChannelPattern* p2=spigotData->getPattern((fiber-1)*3+2); 00045 ChannelPattern* p3=spigotData->getPattern((fiber-1)*3+3); 00046 00047 00048 unsigned int w1,w2; 00049 for (int i=0; i<512; i++) { 00050 packWordsStd(p1->getCoded(i),p2->getCoded(i),p3->getCoded(i),i%4,w1,w2); 00051 os << std::hex << w1 << ' ' << std::hex << w2 << ' '; 00052 } 00053 00054 os << std::endl << tabbing(level+1) << "</Data>" << std::endl; 00055 00056 os << tabbing(level) << "</CFGBrick>" << std::endl; 00057 }
std::string HtrXmlPatternWriter::m_stamp [private] |
Definition at line 14 of file HtrXmlPatternWriter.h.
Referenced by HtrXmlPatternWriter(), and writePattern().
std::string HtrXmlPatternWriter::m_tagName [private] |
Definition at line 14 of file HtrXmlPatternWriter.h.
Referenced by setTagName(), and writePattern().