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