/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucMappingAlg/MucMappingAlg-00-00-02/MucMappingAlg/MucMappingAlg.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucMappingAlg.h                                 |
00003 //      [Brief ]:       Header file of MUC electronics and geometry mapping class       |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                            |
00005 //      [Date  ]:       Jun 6, 2006                                                     |
00006 //      [Log   ]:       See ChangLog                                                    |
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;            // ID numbers of readout strips including part, segment, layer and strip id in a box
00020 const int MODULE_MAX     = 10;           // Total VME modules for MUC 
00021 const int SOCKET_MAX     = 4;            // Maximum sockets in one module
00022 const int CHAIN_MAX      = 40;           // Total number of data chains 
00023 const int FEC_MAX        = 572;          // Total number of FECs 
00024 const int STRIP_MAX      = 9152;         // Total number of readout strips
00025 
00026 const unsigned int MARK_NUM = 4;   // Mark number of chain name
00027 const int                DATA_NUM       = 14;  // Data number of output
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 //END
00064 

Generated on Tue Nov 29 23:12:57 2016 for BOSS_7.0.2 by  doxygen 1.4.7