Go to the documentation of this file.00001 #ifndef CaloOnlineTools_HcalOnlineDb_HcalChannelQualityXml_h
00002 #define CaloOnlineTools_HcalOnlineDb_HcalChannelQualityXml_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022 #include <map>
00023 #include <string>
00024 #include "CaloOnlineTools/HcalOnlineDb/interface/HcalChannelDataXml.h"
00025
00026 class HcalChannelQualityXml : public HcalChannelDataXml
00027 {
00028
00029 public:
00030
00031 typedef struct _ChannelQuality{
00032 _ChannelQuality();
00033 int status;
00034 int onoff;
00035 std::string comment;
00036 } ChannelQuality;
00037
00038 HcalChannelQualityXml();
00039 virtual ~HcalChannelQualityXml();
00040
00041
00042
00043 int makeXmlFromAsciiStream(int _runnumber,
00044 int _iov_begin,
00045 int _iov_end,
00046 std::string _tag,
00047 std::string _elements_comment,
00048 std::string _base="hex"
00049 );
00050
00051
00052
00053 int writeBaseLineFromOmdsToStdout(std::string _tag, int _iov_begin, std::string base="hex");
00054
00055
00056 int readStatusWordFromStdin(std::string base="hex");
00057
00058
00059 int writeStatusWordToStdout(std::string base = "hex");
00060
00061
00062 DOMNode * add_hcal_channel_dataset( int ieta, int iphi, int depth, std::string subdetector,
00063 int _channel_status, int _on_off, std::string _comment );
00064
00065
00066 int addChannelToGeomIdMap( int ieta, int iphi, int depth, std::string subdetector,
00067 int _channel_status, int _on_off, std::string _comment );
00068
00069
00070 DOMElement * add_data( DOMNode * _dataset, int _channel_status, int _on_off, std::string _comment );
00071
00072
00073 int set_all_channels_on_off( int _hb, int _he, int _hf, int _ho);
00074
00075
00076 int set_all_channels_status( uint32_t _hb, uint32_t _he, uint32_t _hf, uint32_t _ho);
00077
00078
00079 int getBaseLineFromOmds(std::string _tag, int _iov_begin);
00080
00081
00082 int addChannelQualityGeom(std::map<int,ChannelQuality> & _cq);
00083
00084
00085
00086 int dumpTagsFromOmdsToStdout(void);
00087
00088
00089 std::vector<std::string> getTagsFromOmds(void);
00090
00091
00092
00093
00094 int dumpIovsFromOmdsToStdout(std::string tag);
00095
00096
00097 std::vector<int> getIovsFromOmds(std::string tag);
00098
00099
00100 std::map<int,ChannelQuality> detid_cq;
00101 std::map<int,ChannelQuality> geomid_cq;
00102
00103 private:
00104 std::string get_random_comment( void );
00105 HcalAssistant hAss;
00106 };
00107
00108 #endif