CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/CondTools/DT/interface/DTCompactMapWriter.h

Go to the documentation of this file.
00001 #ifndef DTCompactMapWriter_H
00002 #define DTCompactMapWriter_H
00003 
00014 //----------------------
00015 // Base Class Headers --
00016 //----------------------
00017 
00018 
00019 //------------------------------------
00020 // Collaborating Class Declarations --
00021 //------------------------------------
00022 class DTROBCardId;
00023 class DTROBCardCompare;
00024 class DTTDCChannelId;
00025 class DTTDCChannelCompare;
00026 class DTPhysicalWireId;
00027 class DTPhysicalWireCompare;
00028 class DTROSChannelId;
00029 class DTROSChannelCompare;
00030 
00031 //---------------
00032 // C++ Headers --
00033 //---------------
00034 #include <string>
00035 #include <vector>
00036 #include <map>
00037 #include <algorithm>
00038 #include <iostream>
00039 #include <fstream>
00040 
00041 
00042 class DTCompactMapWriter {
00043  public:
00044   static void buildSteering( std::istream& jobDesc );
00045  private:
00046   static void fillTDCMap( const std::string& map_file,
00047                           int wheel, int sector,
00048                           std::map<DTROBCardId,
00049                                    int,
00050                                    DTROBCardCompare>& tdc_idm,
00051                           int stationId, // int robId,
00052                           int map_count, bool& write );
00053   static void fillROSMap( const std::string& map_file,
00054                           int   ddu, int    ros,
00055                           int whdef, int secdef,
00056                           std::map<DTROSChannelId,
00057                                    DTROBCardId,
00058                                    DTROSChannelCompare>& ddu_map,
00059                           std::map<DTROSChannelId,
00060                                    DTROBCardId,
00061                                    DTROSChannelCompare>& ros_map,
00062                           int map_count,
00063                           bool& write );
00064   static void cloneROS(   std::map<DTROSChannelId,
00065                                    DTROBCardId,
00066                                    DTROSChannelCompare>& ros_m,
00067                           std::map<DTROSChannelId,
00068                                    DTROBCardId,
00069                                    DTROSChannelCompare>& ros_a,
00070                           int ddu_o, int ros_o,
00071                           int ddu_f, int ros_f );
00072   static void appendROS(  std::map<DTROSChannelId,
00073                                    DTROBCardId,
00074                                    DTROSChannelCompare>& ros_m,
00075                           std::map<DTROSChannelId,
00076                                    DTROBCardId,
00077                                    DTROSChannelCompare>& ros_a );
00078   static void fillReadOutMap( int ros_count,
00079                               std::map<DTROBCardId,
00080                                        int,
00081                                        DTROBCardCompare>& tdc_idm,
00082                               std::map<DTROSChannelId,
00083                                        DTROBCardId,
00084                                        DTROSChannelCompare>& ddu_map,
00085                               std::map<DTROSChannelId,
00086                                        DTROBCardId,
00087                                        DTROSChannelCompare>& ros_map );
00088 };
00089 
00090 #endif
00091