CGEM BOSS 6.6.5.h
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 unsigned int MARK_NUM = 4; // Mark number of chain name
27const int DATA_NUM = 14; // Data number of output
28
29const std::string DEFAULT_MAP[MODULE_MAX][SOCKET_MAX] = {
30 {"EE1F", "EE4F", "EE3F", "EE2F"},
31 {"EE1S", "EE4S", "EE3S", "EE2S"},
32 {"B030", "B020", "B010", "B080"},
33 {"B070", "B060", "B050", "B040"},
34 {"BW30", "BE30", "BW20", "BE20"},
35 {"BW10", "BE10", "BW80", "BE80"},
36 {"BW70", "BE70", "BW60", "BE60"},
37 {"BW50", "BE50", "BW40", "BE40"},
38 {"EW1F", "EW4F", "EW3F", "EW2F"},
39 {"EW1S", "EW4S", "EW3S", "EW2S"} };
40
41const std::string DATA_NAME[DATA_NUM] = { "Chain", "Module", "Socket", "FecID", "VmeInt", "VmeBin",
42 "Part", "Seg", "Lay", "1stStr", "StrSqc", "GeoInt", "GeoBin"};
43
44class MucMappingAlg : public Algorithm
45{
46 public:
47 MucMappingAlg (const std::string& name, ISvcLocator* pSvcLocator);
48
49 StatusCode initialize();
50 StatusCode execute();
51 StatusCode finalize();
52
53 private:
54
55 int m_fFecOrder;
56 std::string m_sFileName[2];
57 std::string m_sOutputOption;
58 std::string m_sChainMap[MODULE_MAX][SOCKET_MAX];
59
60 MucChain* m_mucChain[ CHAIN_MAX ];
61};
62
63//END
64
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()