00001
00002
00003
00004
00005
00006
00007
00008
00009 #include<iostream>
00010 #include<fstream>
00011 #include<string>
00012
00013 #include "GaudiKernel/Algorithm.h"
00014
00015 #include "MucChain.h"
00016
00017 using namespace std;
00018
00019 const int ID_NUM = 4;
00020 const int MODULE_MAX = 10;
00021 const int SOCKET_MAX = 4;
00022 const int CHAIN_MAX = 40;
00023 const int FEC_MAX = 572;
00024 const int STRIP_MAX = 9152;
00025
00026 const unsigned int MARK_NUM = 4;
00027 const int DATA_NUM = 14;
00028
00029 const std::string DEFAULT_MAP[MODULE_MAX][SOCKET_MAX] = {
00030 {"EE1F", "EE4F", "EE3F", "EE2F"},
00031 {"EE1S", "EE4S", "EE3S", "EE2S"},
00032 {"B030", "B020", "B010", "B080"},
00033 {"B070", "B060", "B050", "B040"},
00034 {"BW30", "BE30", "BW20", "BE20"},
00035 {"BW10", "BE10", "BW80", "BE80"},
00036 {"BW70", "BE70", "BW60", "BE60"},
00037 {"BW50", "BE50", "BW40", "BE40"},
00038 {"EW1F", "EW4F", "EW3F", "EW2F"},
00039 {"EW1S", "EW4S", "EW3S", "EW2S"} };
00040
00041 const std::string DATA_NAME[DATA_NUM] = { "Chain", "Module", "Socket", "FecID", "VmeInt", "VmeBin",
00042 "Part", "Seg", "Lay", "1stStr", "StrSqc", "GeoInt", "GeoBin"};
00043
00044 class MucMappingAlg : public Algorithm
00045 {
00046 public:
00047 MucMappingAlg (const std::string& name, ISvcLocator* pSvcLocator);
00048
00049 StatusCode initialize();
00050 StatusCode execute();
00051 StatusCode finalize();
00052
00053 private:
00054
00055 int m_fFecOrder;
00056 std::string m_sFileName[2];
00057 std::string m_sOutputOption;
00058 std::string m_sChainMap[MODULE_MAX][SOCKET_MAX];
00059
00060 MucChain* m_mucChain[ CHAIN_MAX ];
00061 };
00062
00063
00064