BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucMappingAlg.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------------------|
2// [File ]: MucMappingAlg.h |
3// [Brief ]: Header file of MUC electronics and geometry mapping class |
4// [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> |
5// [Date ]: Jun 6, 2006 |
6// [Log ]: See ChangLog |
7//--------------------------------------------------------------------------------------|
8
9#include <fstream>
10#include <iostream>
11#include <string>
12
13#include "GaudiKernel/Algorithm.h"
14
15#include "MucChain.h"
16
17using namespace std;
18
19const int ID_NUM =
20 4; // ID numbers of readout strips including part, segment, layer and strip id in a box
21const int MODULE_MAX = 10; // Total VME modules for MUC
22const int SOCKET_MAX = 4; // Maximum sockets in one module
23const int CHAIN_MAX = 40; // Total number of data chains
24const int FEC_MAX = 572; // Total number of FECs
25const int STRIP_MAX = 9152; // Total number of readout strips
26
27const int DATA_NUM = 14; // Data number of output
28const unsigned int MARK_NUM = 4; // Mark number of chain name
29
30const std::string DEFAULT_MAP[MODULE_MAX][SOCKET_MAX] = {
31 { "EE1F", "EE4F", "EE3F", "EE2F" }, { "EE1S", "EE4S", "EE3S", "EE2S" },
32 { "B030", "B020", "B010", "B080" }, { "B070", "B060", "B050", "B040" },
33 { "BW30", "BE30", "BW20", "BE20" }, { "BW10", "BE10", "BW80", "BE80" },
34 { "BW70", "BE70", "BW60", "BE60" }, { "BW50", "BE50", "BW40", "BE40" },
35 { "EW1F", "EW4F", "EW3F", "EW2F" }, { "EW1S", "EW4S", "EW3S", "EW2S" } };
36
37const std::string DATA_NAME[DATA_NUM] = { "Chain", "Module", "Socket", "FecID", "VmeInt",
38 "VmeBin", "Part", "Seg", "Lay", "1stStr",
39 "StrSqc", "GeoInt", "GeoBin" };
40
41class MucMappingAlg : public Algorithm {
42public:
43 MucMappingAlg( const std::string& name, ISvcLocator* pSvcLocator );
44
45 StatusCode initialize();
46 StatusCode execute();
47 StatusCode finalize();
48
49private:
50 int m_fFecOrder;
51 std::string m_sFileName[2];
52 std::string m_sOutputOption;
53 std::string m_sChainMap[MODULE_MAX][SOCKET_MAX];
54
55 MucChain* m_mucChain[CHAIN_MAX];
56};
57
58// END
const int FEC_MAX
const int CHAIN_MAX
const int ID_NUM
const int SOCKET_MAX
const std::string DEFAULT_MAP[MODULE_MAX][SOCKET_MAX]
const std::string DATA_NAME[DATA_NUM]
const int MODULE_MAX
const int DATA_NUM
const unsigned int MARK_NUM
StatusCode execute()
MucMappingAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode finalize()
StatusCode initialize()