CMS 3D CMS Logo

Functions
xuti Namespace Reference

Functions

const std::string ADCToGeVConstant_tag ("EcalADCToGeVConstant")
 
const std::string AlignmentConstant_tag ("EcalAlignmentConstant")
 
const std::string Barrel_tag ("BarrelValue")
 
const std::string Cell_tag ("cell")
 
const std::string ChannelStatus_tag ("EcalChannelStatus")
 
const std::string ChannelStatusCode_tag ("ChannelStatusCode")
 
const std::string DAQStatusCode_tag ("DAQStatusCode")
 
const std::string DAQTowerStatus_tag ("EcalDAQTowerStatus")
 
const std::string DCSStatusCode_tag ("DCSStatusCode")
 
const std::string DCSTowerStatus_tag ("EcalDCSTowerStatus")
 
const std::string EcalFloatCondObjectContainer_tag ("EcalFloatCondObjectContainer")
 
const std::string EcalTBWeight_tag ("EcalTBWeight")
 
const std::string EcalTBWeights_tag ("EcalTBWeights")
 
const std::string EcalTDCId_tag ("EcalTDCId")
 
const std::string EcalWeightSet_tag ("EcalWeightSet")
 
const std::string EcalXtalGroupId_tag ("EcalXtalGroupId")
 
const std::string Endcap_tag ("EndcapValue")
 
const std::string ESGain_tag ("ESGain")
 
const std::string Gain12Over6_tag ("Gain12Over6")
 
const std::string Gain6Over1_tag ("Gain6Over1")
 
const std::string GainRatios_tag ("EcalGainRatios")
 
xercesc::DOMNode * getChildNode (xercesc::DOMNode *node, const std::string &nodename)
 get the child of More...
 
template<class T >
void GetNodeData (xercesc::DOMNode *node, T &value)
 get the node data More...
 
void GetNodeStringData (xercesc::DOMNode *node, std::string &value)
 get the node data as string. Needs to be used to avoid splitting More...
 
const std::string Header_datasourcetag ("datasource")
 
const std::string Header_datetag ("date")
 
const std::string Header_methodtag ("method")
 
const std::string Header_sincetag ("since")
 
const std::string Header_tag ("EcalCondHeader")
 
const std::string Header_tagtag ("tag")
 
const std::string Header_versiontag ("version")
 
const std::string id_tag ("id")
 
const std::string iEta_tag ("iEta")
 
const std::string IntercalibConstant_tag ("IntercalibConstant")
 
const std::string IntercalibConstants_tag ("EcalIntercalibConstants")
 
const std::string IntercalibError_tag ("IntercalibError")
 
const std::string iPhi_tag ("iPhi")
 
const std::string ix_tag ("ix")
 
const std::string ixSC_tag ("ixSC")
 
const std::string iy_tag ("iy")
 
const std::string iySC_tag ("iySC")
 
const std::string Laser_p1_tag ("p1")
 
const std::string Laser_p2_tag ("p2")
 
const std::string Laser_p3_tag ("p3")
 
const std::string Laser_t1_tag ("t1")
 
const std::string Laser_t2_tag ("t2")
 
const std::string Laser_t3_tag ("t3")
 
const std::string Laser_tag ("EcalLaserAPDPNRatios")
 
const std::string LinearCorrections_tag ("EcalLinearCorrections")
 
const std::string Linearization_m12_tag ("mult12")
 
const std::string Linearization_m1_tag ("mult1")
 
const std::string Linearization_m6_tag ("mult6")
 
const std::string Linearization_s12_tag ("shift12")
 
const std::string Linearization_s1_tag ("shift1")
 
const std::string Linearization_s6_tag ("shift6")
 
const std::string Linearization_tag ("EcalTPGLinearizationConts")
 
const std::string mean12_tag ("mean_x12")
 
const std::string mean1_tag ("mean_x1")
 
const std::string mean6_tag ("mean_x6")
 
const std::string Pedestals_tag ("EcalPedestals")
 
const std::string Phi_tag ("Phi")
 
const std::string Psi_tag ("Psi")
 
const std::string PulseShapes_tag ("EcalPulseShapes")
 
const std::string PulseSymmCovariances_tag ("EcalPulseSymmCovariances")
 
const DetId readCellId (xercesc::DOMElement *node)
 Assuming. More...
 
void readHeader (xercesc::DOMNode *parentNode, EcalCondHeader &header)
 read header from More...
 
int readHeader (const std::string &filename, EcalCondHeader &header)
 read header from any xml file, return -1 in case of error More...
 
const std::string rms12_tag ("rms_x12")
 
const std::string rms1_tag ("rms_x1")
 
const std::string rms6_tag ("rms_x6")
 
const std::string row_tag ("row")
 
const std::string sample0_tag ("sample_0")
 
const std::string sample10_tag ("sample_10")
 
const std::string sample11_tag ("sample_11")
 
const std::string sample1_tag ("sample_1")
 
const std::string sample2_tag ("sample_2")
 
const std::string sample3_tag ("sample_3")
 
const std::string sample4_tag ("sample_4")
 
const std::string sample5_tag ("sample_5")
 
const std::string sample6_tag ("sample_6")
 
const std::string sample7_tag ("sample_7")
 
const std::string sample8_tag ("sample_8")
 
const std::string sample9_tag ("sample_9")
 
const std::string subdet_tag ("SubDet")
 
const std::string Theta_tag ("Theta")
 
const std::string TimeOffsetConstant_tag ("EcalTimeOffsetConstant")
 
const std::string TPGCrystalStatus_tag ("EcalTPGCrystalStatus")
 
const std::string TPGStripStatus_tag ("EcalTPGStripStatus")
 
const std::string TPGTowerStatus_tag ("EcalTPGTowerStatus")
 
const std::string Value_tag ("Value")
 
const std::string WeightGroup_tag ("EcalWeightGroup")
 
const std::string WeightGroups_tag ("EcalWeightGroups")
 
const std::string wgtAfterSwitch_tag ("WeightAfterSwitch")
 
const std::string wgtBeforeSwitch_tag ("WeightBeforeSwitch")
 
const std::string wgtChi2AfterSwitch_tag ("Chi2WeightAfterSwitch")
 
const std::string wgtChi2BeforeSwitch_tag ("Chi2WeightBeforeSwitch")
 
xercesc::DOMElement * writeCell (xercesc::DOMNode *node, const DetId &detid)
 Append a Cell node with attributes to. More...
 
void writeHeader (xercesc::DOMNode *parentNode, const EcalCondHeader &header)
 write More...
 
template<class T >
void WriteNodeWithValue (xercesc::DOMNode *parentNode, const std::string &tag, const T &value)
 write a node with More...
 
const std::string x_tag ("x")
 
const std::string y_tag ("y")
 
const std::string z_tag ("z")
 
const std::string zside_tag ("zside")
 

Detailed Description

Helper function for converting Ecal DB Objects to XML

Author
S. Argiro, F. Rubbo
Id
DOMHelperFunctions.h,v 1.1 2008/11/14 15:46:05 argiro Exp

Function Documentation

const std::string xuti::ADCToGeVConstant_tag ( "EcalADCToGeVConstant"  )
const std::string xuti::AlignmentConstant_tag ( "EcalAlignmentConstant"  )
const std::string xuti::Barrel_tag ( "BarrelValue"  )
const std::string xuti::Cell_tag ( "cell"  )
const std::string xuti::ChannelStatus_tag ( "EcalChannelStatus"  )
const std::string xuti::ChannelStatusCode_tag ( "ChannelStatusCode"  )
const std::string xuti::DAQStatusCode_tag ( "DAQStatusCode"  )
const std::string xuti::DAQTowerStatus_tag ( "EcalDAQTowerStatus"  )
const std::string xuti::DCSStatusCode_tag ( "DCSStatusCode"  )
const std::string xuti::DCSTowerStatus_tag ( "EcalDCSTowerStatus"  )
const std::string xuti::EcalFloatCondObjectContainer_tag ( "EcalFloatCondObjectContainer"  )
const std::string xuti::EcalTBWeight_tag ( "EcalTBWeight"  )
const std::string xuti::EcalTBWeights_tag ( "EcalTBWeights"  )
const std::string xuti::EcalTDCId_tag ( "EcalTDCId"  )
const std::string xuti::EcalWeightSet_tag ( "EcalWeightSet"  )
const std::string xuti::EcalXtalGroupId_tag ( "EcalXtalGroupId"  )
const std::string xuti::Endcap_tag ( "EndcapValue"  )
const std::string xuti::ESGain_tag ( "ESGain"  )
const std::string xuti::Gain12Over6_tag ( "Gain12Over6"  )
const std::string xuti::Gain6Over1_tag ( "Gain6Over1"  )
const std::string xuti::GainRatios_tag ( "EcalGainRatios"  )
xercesc::DOMNode* xuti::getChildNode ( xercesc::DOMNode *  node,
const std::string &  nodename 
)
template<class T >
void xuti::GetNodeData ( xercesc::DOMNode *  node,
T value 
)
void xuti::GetNodeStringData ( xercesc::DOMNode *  node,
std::string &  value 
)

get the node data as string. Needs to be used to avoid splitting

Definition at line 244 of file DOMHelperFunctions.cc.

References cms::xerces::toString().

Referenced by readHeader().

244  {
245  value= cms::xerces::toString(node->getTextContent());
246 }
std::string toString(XMLCh const *toTranscode)
Definition: value.py:1
const std::string xuti::Header_datasourcetag ( "datasource"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_datetag ( "date"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_methodtag ( "method"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_sincetag ( "since"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_tag ( "EcalCondHeader"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_tagtag ( "tag"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::Header_versiontag ( "version"  )

Referenced by readHeader(), and writeHeader().

const std::string xuti::id_tag ( "id"  )
const std::string xuti::iEta_tag ( "iEta"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::IntercalibConstant_tag ( "IntercalibConstant"  )
const std::string xuti::IntercalibConstants_tag ( "EcalIntercalibConstants"  )
const std::string xuti::IntercalibError_tag ( "IntercalibError"  )
const std::string xuti::iPhi_tag ( "iPhi"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::ix_tag ( "ix"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::ixSC_tag ( "ixSC"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::iy_tag ( "iy"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::iySC_tag ( "iySC"  )

Referenced by readCellId(), and writeCell().

const std::string xuti::Laser_p1_tag ( "p1"  )
const std::string xuti::Laser_p2_tag ( "p2"  )
const std::string xuti::Laser_p3_tag ( "p3"  )
const std::string xuti::Laser_t1_tag ( "t1"  )
const std::string xuti::Laser_t2_tag ( "t2"  )
const std::string xuti::Laser_t3_tag ( "t3"  )
const std::string xuti::Laser_tag ( "EcalLaserAPDPNRatios"  )
const std::string xuti::LinearCorrections_tag ( "EcalLinearCorrections"  )
const std::string xuti::Linearization_m12_tag ( "mult12"  )
const std::string xuti::Linearization_m1_tag ( "mult1"  )
const std::string xuti::Linearization_m6_tag ( "mult6"  )
const std::string xuti::Linearization_s12_tag ( "shift12"  )
const std::string xuti::Linearization_s1_tag ( "shift1"  )
const std::string xuti::Linearization_s6_tag ( "shift6"  )
const std::string xuti::Linearization_tag ( "EcalTPGLinearizationConts"  )
const std::string xuti::mean12_tag ( "mean_x12"  )
const std::string xuti::mean1_tag ( "mean_x1"  )
const std::string xuti::mean6_tag ( "mean_x6"  )
const std::string xuti::Pedestals_tag ( "EcalPedestals"  )
const std::string xuti::Phi_tag ( "Phi"  )
const std::string xuti::Psi_tag ( "Psi"  )
const std::string xuti::PulseShapes_tag ( "EcalPulseShapes"  )
const std::string xuti::PulseSymmCovariances_tag ( "EcalPulseSymmCovariances"  )
const DetId xuti::readCellId ( xercesc::DOMElement *  node)

Assuming.

Parameters
nodeis a <cell> node, read the id

Definition at line 25 of file DOMHelperFunctions.cc.

References MessageLogger_cfi::cerr, iEta_tag(), iPhi_tag(), ix_tag(), ixSC_tag(), iy_tag(), iySC_tag(), cms::xerces::toString(), cms::xerces::uStr(), HcalDigiParam_cfi::zside, and zside_tag().

Referenced by EcalDAQTowerStatusXMLTranslator::readXML(), EcalPulseShapesXMLTranslator::readXML(), EcalPulseSymmCovariancesXMLTranslator::readXML(), EcalDCSTowerStatusXMLTranslator::readXML(), EcalPedestalsXMLTranslator::readXML(), EcalChannelStatusXMLTranslator::readXML(), EcalLaserAPDPNRatiosXMLTranslator::readXML(), EcalLinearCorrectionsXMLTranslator::readXML(), EcalWeightGroupXMLTranslator::readXML(), and EcalGainRatiosXMLTranslator::readXML().

25  {
26 
27 
28  int ieta =0;
29  int iphi =0;
30  int ix =0;
31  int iy =0;
32  int ixSC =0;
33  int iySC =0;
34  int zside=0;
35 
36  stringstream ieta_str ;
37  stringstream iphi_str;
38  stringstream ix_str;
39  stringstream iy_str ;
40  stringstream ixSC_str;
41  stringstream iySC_str ;
42  stringstream zside_str ;
43 
44 
45  ieta_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(iEta_tag.c_str()).ptr()));
46  iphi_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(iPhi_tag.c_str()).ptr()));
47  ix_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(ix_tag.c_str()).ptr()));
48  iy_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(iy_tag.c_str()).ptr()));
49  ixSC_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(ixSC_tag.c_str()).ptr()));
50  iySC_str << cms::xerces::toString(node->getAttribute(cms::xerces::uStr(iySC_tag.c_str()).ptr()));
51  zside_str<< cms::xerces::toString(node->getAttribute(cms::xerces::uStr(zside_tag.c_str()).ptr()));
52 
53  ieta_str>> ieta;
54  iphi_str>> iphi;
55  ix_str >> ix;
56  iy_str >> iy;
57  ixSC_str >> ixSC;
58  iySC_str >> iySC;
59  zside_str >> zside;
60 
61  if (ieta && iphi) {return EBDetId(ieta,iphi);}
62  if (ix && iy && zside){return EEDetId(ix,iy,zside);}
63  if (ixSC && iySC && zside){return EcalScDetId(ixSC, iySC, zside);}
64 
65  cerr<<"XMLCell: error reading cell, missing field ?"<<std::endl;
66  return 0;
67 
68 }
const std::string iySC_tag("iySC")
const std::string iEta_tag("iEta")
std::string toString(XMLCh const *toTranscode)
const std::string ix_tag("ix")
ZStr< XMLCh > uStr(char const *str)
const std::string iy_tag("iy")
const std::string zside_tag("zside")
const std::string ixSC_tag("ixSC")
const std::string iPhi_tag("iPhi")
void xuti::readHeader ( xercesc::DOMNode *  parentNode,
EcalCondHeader header 
)

read header from

Parameters
parentNode

Definition at line 189 of file DOMHelperFunctions.cc.

References EcalCondHeader::datasource_, EcalCondHeader::date_, getChildNode(), GetNodeData(), GetNodeStringData(), Header_datasourcetag(), Header_datetag(), Header_methodtag(), Header_sincetag(), Header_tag(), Header_tagtag(), Header_versiontag(), EcalCondHeader::method_, EcalCondHeader::since_, EcalCondHeader::tag_, and EcalCondHeader::version_.

Referenced by EcalFloatCondObjectContainerHandler::id(), parse_int(), readHeader(), EcalClusterLocalContCorrXMLTranslator::readXML(), EcalTimeBiasCorrectionsXMLTranslator::readXML(), EcalTPGTowerStatusXMLTranslator::readXML(), EcalTPGStripStatusXMLTranslator::readXML(), EcalPedestalsXMLTranslator::readXML(), EcalPulseShapesXMLTranslator::readXML(), EcalPulseSymmCovariancesXMLTranslator::readXML(), EcalDAQTowerStatusXMLTranslator::readXML(), EcalDCSTowerStatusXMLTranslator::readXML(), EcalLaserAPDPNRatiosXMLTranslator::readXML(), EcalLinearCorrectionsXMLTranslator::readXML(), EcalChannelStatusXMLTranslator::readXML(), EcalClusterCrackCorrXMLTranslator::readXML(), EcalClusterEnergyCorrectionObjectSpecificXMLTranslator::readXML(), EcalClusterEnergyCorrectionXMLTranslator::readXML(), EcalGainRatiosXMLTranslator::readXML(), EcalWeightGroupXMLTranslator::readXML(), EcalTimeOffsetXMLTranslator::readXML(), EcalADCToGeVXMLTranslator::readXML(), EcalTBWeightsXMLTranslator::readXML(), EcalWeightSetXMLTranslator::readXML(), and WriteNodeWithValue().

190  {
191 
192  DOMNode * hnode = getChildNode(parentNode,Header_tag);
193 
194  DOMNode * node = getChildNode(hnode,Header_methodtag);
195  GetNodeStringData(node,header.method_);
196 
197  node = getChildNode(hnode,Header_versiontag);
198  GetNodeStringData(node,header.version_);
199 
200  node = getChildNode(hnode,Header_datasourcetag);
201  GetNodeStringData(node,header.datasource_);
202 
203  node = getChildNode(hnode,Header_sincetag);
204  GetNodeData(node,header.since_);
205 
206  node = getChildNode(hnode,Header_tagtag);
207  GetNodeStringData(node,header.tag_);
208 
209 
210  node = getChildNode(hnode,Header_datetag);
211  GetNodeStringData(node,header.date_);
212 
213 }
void GetNodeStringData(xercesc::DOMNode *node, std::string &value)
get the node data as string. Needs to be used to avoid splitting
std::string datasource_
cond::Time_t since_
std::string date_
const std::string Header_sincetag("since")
std::string version_
const std::string Header_methodtag("method")
const std::string Header_datetag("date")
std::string tag_
const std::string Header_tagtag("tag")
const std::string Header_versiontag("version")
const std::string Header_tag("EcalCondHeader")
std::string method_
void GetNodeData(xercesc::DOMNode *node, T &value)
get the node data
xercesc::DOMNode * getChildNode(xercesc::DOMNode *node, const std::string &nodename)
get the child of
const std::string Header_datasourcetag("datasource")
int xuti::readHeader ( const std::string &  filename,
EcalCondHeader header 
)

read header from any xml file, return -1 in case of error

Definition at line 215 of file DOMHelperFunctions.cc.

References gather_cfg::cout, createfilelist::parser, readHeader(), cms::concurrency::xercesInitialize(), and cms::concurrency::xercesTerminate().

215  {
216 
218 
219  XercesDOMParser* parser = new XercesDOMParser;
220  parser->setValidationScheme( XercesDOMParser::Val_Never );
221  parser->setDoNamespaces( false );
222  parser->setDoSchema( false );
223 
224  parser->parse(filename.c_str());
225 
226  DOMDocument* xmlDoc = parser->getDocument();
227 
228 
229  if (!xmlDoc) {
230  std::cout << "Error parsing document" << std::endl;
231  return -1;
232  }
233 
234  DOMElement* elementRoot = xmlDoc->getDocumentElement();
235 
236  xuti::readHeader(elementRoot, header);
237 
238  delete parser;
240 
241  return 0;
242 }
void xercesTerminate()
Definition: Xerces.cc:23
void xercesInitialize()
Definition: Xerces.cc:18
void readHeader(xercesc::DOMNode *parentNode, EcalCondHeader &header)
read header from
const std::string xuti::rms12_tag ( "rms_x12"  )
const std::string xuti::rms1_tag ( "rms_x1"  )
const std::string xuti::rms6_tag ( "rms_x6"  )
const std::string xuti::row_tag ( "row"  )
const std::string xuti::sample0_tag ( "sample_0"  )
const std::string xuti::sample10_tag ( "sample_10"  )
const std::string xuti::sample11_tag ( "sample_11"  )
const std::string xuti::sample1_tag ( "sample_1"  )
const std::string xuti::sample2_tag ( "sample_2"  )
const std::string xuti::sample3_tag ( "sample_3"  )
const std::string xuti::sample4_tag ( "sample_4"  )
const std::string xuti::sample5_tag ( "sample_5"  )
const std::string xuti::sample6_tag ( "sample_6"  )
const std::string xuti::sample7_tag ( "sample_7"  )
const std::string xuti::sample8_tag ( "sample_8"  )
const std::string xuti::sample9_tag ( "sample_9"  )
const std::string xuti::subdet_tag ( "SubDet"  )
const std::string xuti::Theta_tag ( "Theta"  )
const std::string xuti::TimeOffsetConstant_tag ( "EcalTimeOffsetConstant"  )
const std::string xuti::TPGCrystalStatus_tag ( "EcalTPGCrystalStatus"  )
const std::string xuti::TPGStripStatus_tag ( "EcalTPGStripStatus"  )
const std::string xuti::TPGTowerStatus_tag ( "EcalTPGTowerStatus"  )
const std::string xuti::Value_tag ( "Value"  )
const std::string xuti::WeightGroup_tag ( "EcalWeightGroup"  )
const std::string xuti::WeightGroups_tag ( "EcalWeightGroups"  )
const std::string xuti::wgtAfterSwitch_tag ( "WeightAfterSwitch"  )
const std::string xuti::wgtBeforeSwitch_tag ( "WeightBeforeSwitch"  )
const std::string xuti::wgtChi2AfterSwitch_tag ( "Chi2WeightAfterSwitch"  )
const std::string xuti::wgtChi2BeforeSwitch_tag ( "Chi2WeightBeforeSwitch"  )
DOMElement * xuti::writeCell ( xercesc::DOMNode *  node,
const DetId detid 
)

Append a Cell node with attributes to.

Parameters
node

Definition at line 72 of file DOMHelperFunctions.cc.

References Cell_tag(), EcalBarrel, EcalEndcap, EcalTriggerTower, getChildNode(), EcalTrigTowerDetId::ieta(), EBDetId::ieta(), iEta_tag(), EBDetId::iphi(), EcalTrigTowerDetId::iphi(), iPhi_tag(), EcalScDetId::ix(), EEDetId::ix(), ix_tag(), ixSC_tag(), EcalScDetId::iy(), EEDetId::iy(), iy_tag(), iySC_tag(), DetId::rawId(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), cms::xerces::toString(), cms::xerces::uStr(), EcalScDetId::zside(), EEDetId::zside(), and zside_tag().

Referenced by EcalTPGLinearizationConstXMLTranslator::dumpXML(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), EcalTPGTowerStatusXMLTranslator::dumpXML(), EcalDAQTowerStatusXMLTranslator::dumpXML(), EcalPulseSymmCovariancesXMLTranslator::dumpXML(), EcalPulseShapesXMLTranslator::dumpXML(), EcalPedestalsXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalLinearCorrectionsXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), and EcalFloatCondObjectContainerXMLTranslator::dumpXML().

73  {
74 
75  DOMElement* cell_node =
76  node->getOwnerDocument()->createElement( cms::xerces::uStr(Cell_tag.c_str()).ptr());
77 
78  node->appendChild(cell_node);
79 
80  if (detid.subdetId() == EcalBarrel ){
81 
82  stringstream value_s;
83  value_s <<EBDetId(detid).ieta() ;
84 
85  cell_node->setAttribute(cms::xerces::uStr(iEta_tag.c_str()).ptr(),
86  cms::xerces::uStr(value_s.str().c_str()).ptr());
87  value_s.str("");
88  value_s <<EBDetId(detid).iphi() ;
89 
90  cell_node->setAttribute(cms::xerces::uStr(iPhi_tag.c_str()).ptr(),
91  cms::xerces::uStr(value_s.str().c_str()).ptr());
92 
93  } else if (detid.subdetId() == EcalEndcap){
94 
95  // is it a EcalScDetId ?
96  unsigned int ScIdCheck = detid.rawId() & 0x00008000;
97  if (ScIdCheck == 0) {
98  stringstream value_s;
99  value_s <<EEDetId(detid).ix() ;
100 
101  cell_node->setAttribute(cms::xerces::uStr(ix_tag.c_str()).ptr(),
102  cms::xerces::uStr(value_s.str().c_str()).ptr());
103  value_s.str("");
104  value_s <<EEDetId(detid).iy() ;
105 
106  cell_node->setAttribute(cms::xerces::uStr(iy_tag.c_str()).ptr(),
107  cms::xerces::uStr(value_s.str().c_str()).ptr());
108  value_s.str("");
109  value_s <<EEDetId(detid).zside() ;
110 
111  cell_node->setAttribute(cms::xerces::uStr(zside_tag.c_str()).ptr(),
112  cms::xerces::uStr(value_s.str().c_str()).ptr());
113  }
114  else {
115  stringstream value_s;
116  value_s << EcalScDetId(detid).ix() ;
117 
118  cell_node->setAttribute(cms::xerces::uStr(ixSC_tag.c_str()).ptr(),
119  cms::xerces::uStr(value_s.str().c_str()).ptr());
120  value_s.str("");
121  value_s << EcalScDetId(detid).iy() ;
122 
123  cell_node->setAttribute(cms::xerces::uStr(iySC_tag.c_str()).ptr(),
124  cms::xerces::uStr(value_s.str().c_str()).ptr());
125  value_s.str("");
126  value_s << EcalScDetId(detid).zside() ;
127 
128  cell_node->setAttribute(cms::xerces::uStr(zside_tag.c_str()).ptr(),
129  cms::xerces::uStr(value_s.str().c_str()).ptr());
130  }
131 
132  } else if (detid.subdetId() == EcalTriggerTower ){
133  stringstream value_s;
134  value_s <<EcalTrigTowerDetId(detid).ieta() ;
135 
136  cell_node->setAttribute(cms::xerces::uStr(iEta_tag.c_str()).ptr(),
137  cms::xerces::uStr(value_s.str().c_str()).ptr());
138  value_s.str("");
139  value_s <<EcalTrigTowerDetId(detid).iphi() ;
140 
141  cell_node->setAttribute(cms::xerces::uStr(iPhi_tag.c_str()).ptr(),
142  cms::xerces::uStr(value_s.str().c_str()).ptr());
143  }
144  return cell_node;
145 }
int ix() const
Definition: EEDetId.h:76
const std::string iySC_tag("iySC")
const std::string iEta_tag("iEta")
int ieta() const
get the tower ieta
int iphi() const
get the crystal iphi
Definition: EBDetId.h:53
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
int ix() const
Definition: EcalScDetId.h:71
const std::string Cell_tag("cell")
const std::string ix_tag("ix")
int zside() const
Definition: EEDetId.h:70
ZStr< XMLCh > uStr(char const *str)
int iy() const
Definition: EEDetId.h:82
int ieta() const
get the crystal ieta
Definition: EBDetId.h:51
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
int iy() const
Definition: EcalScDetId.h:77
const std::string iy_tag("iy")
int iphi() const
get the tower iphi
const std::string zside_tag("zside")
int zside() const
Definition: EcalScDetId.h:65
const std::string ixSC_tag("ixSC")
const std::string iPhi_tag("iPhi")
void xuti::writeHeader ( xercesc::DOMNode *  parentNode,
const EcalCondHeader header 
)

write

Parameters
headerunder
parentNode

Definition at line 169 of file DOMHelperFunctions.cc.

References EcalCondHeader::datasource_, EcalCondHeader::date_, Header_datasourcetag(), Header_datetag(), Header_methodtag(), Header_sincetag(), Header_tag(), Header_tagtag(), Header_versiontag(), EcalCondHeader::method_, EcalCondHeader::since_, EcalCondHeader::tag_, cms::xerces::uStr(), EcalCondHeader::version_, and WriteNodeWithValue().

Referenced by EcalTPGLinearizationConstXMLTranslator::dumpXML(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ESGainXMLTranslator::dumpXML(), EcalTimeBiasCorrectionsXMLTranslator::dumpXML(), EcalAlignmentXMLTranslator::dumpXML(), EcalClusterLocalContCorrXMLTranslator::dumpXML(), EcalTPGTowerStatusXMLTranslator::dumpXML(), EcalTPGStripStatusXMLTranslator::dumpXML(), EcalPedestalsXMLTranslator::dumpXML(), EcalPulseShapesXMLTranslator::dumpXML(), EcalPulseSymmCovariancesXMLTranslator::dumpXML(), EcalDAQTowerStatusXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalClusterEnergyCorrectionObjectSpecificXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), EcalLinearCorrectionsXMLTranslator::dumpXML(), EcalClusterCrackCorrXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalClusterEnergyCorrectionXMLTranslator::dumpXML(), EcalTimeOffsetXMLTranslator::dumpXML(), EcalADCToGeVXMLTranslator::dumpXML(), EcalTBWeightsXMLTranslator::dumpXML(), EcalWeightSetXMLTranslator::dumpXML(), EcalFloatCondObjectContainerXMLTranslator::dumpXML(), parse_int(), and WriteNodeWithValue().

170  {
171 
172 
173 
174  DOMElement* headernode =
175  parentNode->getOwnerDocument()->createElement( cms::xerces::uStr(Header_tag.c_str()).ptr());
176  parentNode->appendChild(headernode);
177 
178  // write the actual header
179  WriteNodeWithValue(headernode, Header_methodtag, header.method_);
180  WriteNodeWithValue(headernode, Header_versiontag, header.version_);
182  WriteNodeWithValue(headernode, Header_sincetag, header.since_);
183  WriteNodeWithValue(headernode, Header_tagtag, header.tag_);
184  WriteNodeWithValue(headernode, Header_datetag, header.date_);
185 
186 }
std::string datasource_
cond::Time_t since_
std::string date_
const std::string Header_sincetag("since")
std::string version_
void WriteNodeWithValue(xercesc::DOMNode *parentNode, const std::string &tag, const T &value)
write a node with
const std::string Header_methodtag("method")
const std::string Header_datetag("date")
ZStr< XMLCh > uStr(char const *str)
std::string tag_
const std::string Header_tagtag("tag")
const std::string Header_versiontag("version")
const std::string Header_tag("EcalCondHeader")
std::string method_
const std::string Header_datasourcetag("datasource")
template<class T >
void xuti::WriteNodeWithValue ( xercesc::DOMNode *  parentNode,
const std::string &  tag,
const T value 
)

write a node with

Parameters
tagand
valueunder
parentNode

Definition at line 52 of file DOMHelperFunctions.h.

References common_cff::doc, corrVsCorr::filename, RecoTauValidation_cfi::header, readHeader(), AlCaHLTBitMon_QueryRunRegistry::string, cms::xerces::uStr(), relativeConstraints::value, and writeHeader().

Referenced by EcalTPGLinearizationConstXMLTranslator::dumpXML(), EcalTPGCrystalStatusXMLTranslator::dumpXML(), ESGainXMLTranslator::dumpXML(), EcalTimeBiasCorrectionsXMLTranslator::dumpXML(), EcalClusterLocalContCorrXMLTranslator::dumpXML(), EcalAlignmentXMLTranslator::dumpXML(), EcalTPGStripStatusXMLTranslator::dumpXML(), EcalTPGTowerStatusXMLTranslator::dumpXML(), EcalPulseShapesXMLTranslator::dumpXML(), EcalPulseSymmCovariancesXMLTranslator::dumpXML(), EcalDAQTowerStatusXMLTranslator::dumpXML(), EcalDCSTowerStatusXMLTranslator::dumpXML(), EcalPedestalsXMLTranslator::dumpXML(), EcalChannelStatusXMLTranslator::dumpXML(), EcalGainRatiosXMLTranslator::dumpXML(), EcalClusterCrackCorrXMLTranslator::dumpXML(), EcalLaserAPDPNRatiosXMLTranslator::dumpXML(), EcalWeightGroupXMLTranslator::dumpXML(), EcalClusterEnergyCorrectionObjectSpecificXMLTranslator::dumpXML(), EcalLinearCorrectionsXMLTranslator::dumpXML(), EcalClusterEnergyCorrectionXMLTranslator::dumpXML(), EcalTimeOffsetXMLTranslator::dumpXML(), EcalADCToGeVXMLTranslator::dumpXML(), EcalTBWeightsXMLTranslator::dumpXML(), EcalFloatCondObjectContainerXMLTranslator::dumpXML(), and writeHeader().

55  {
56 
57  xercesc::DOMDocument * doc = parentNode->getOwnerDocument();
58  xercesc::DOMElement* new_node = doc->createElement(cms::xerces::uStr(tag.c_str()).ptr());
59  parentNode->appendChild(new_node);
60 
61  std::stringstream value_ss;
62  value_ss <<value;
63 
64  xercesc::DOMText* tvalue =
65  doc->createTextNode(cms::xerces::uStr(value_ss.str().c_str()).ptr());
66  new_node->appendChild(tvalue);
67 
68  }
ZStr< XMLCh > uStr(char const *str)
const std::string xuti::x_tag ( "x"  )
const std::string xuti::y_tag ( "y"  )
const std::string xuti::z_tag ( "z"  )
const std::string xuti::zside_tag ( "zside"  )

Referenced by readCellId(), and writeCell().