Go to the documentation of this file.00001 #ifndef DTCompactMapWriter_H
00002 #define DTCompactMapWriter_H
00003
00014
00015
00016
00017
00018
00019
00020
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
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,
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