49 std::string mapFile =
"../../../../input/TOF400_StripMap_RUN9.txt")
52 Int_t MapR[24] = {3, 0, 9, 6, 4, 1, 10, 7, 5, 2, 11, 8, 18, 21, 12, 15, 19, 22, 13, 16, 20, 23, 14, 17};
53 Int_t MapL[24] = {20, 23, 14, 17, 19, 22, 13, 16, 18, 21, 12, 15, 5, 2, 11, 8, 4, 1, 10, 7, 3, 0, 9, 6};
59 static const Int_t kNSlot = 23;
61 memset(slot, 0,
sizeof(slot));
70 slot[10] = 0x076cae7a;
72 slot[14] = 0x06e9e4b0;
73 slot[15] = 0x06e9da9d;
74 slot[16] = 0x076cad53;
75 slot[17] = 0x06e940be;
76 slot[18] = 0x076ccf5f;
77 slot[19] = 0x076ccf56;
78 slot[20] = 0x06e9da91;
83 ff.open(placementMapFile.c_str(), std::fstream::out);
85 cerr <<
"Cannot open the file " << placementMapFile << endl;
90 ff << std::hex << std::setfill(
'0') << std::setw(8) << crate <<
'\t';
91 ff << std::dec <<
i <<
'\t';
92 ff << std::hex << std::setfill(
'0') << std::setw(8) << slot[
i] << endl;
97 cout <<
"Num = " << Num << endl;
98 cout <<
"GetSlot(Num) = " <<
GetSlot(Num) <<
" GetCon(Num) = " <<
GetCon(Num) << endl;
99 cout <<
"GetDet(Num) = " <<
GetDet(Num) <<
" GetSide(Num) = " <<
GetSide(Num) << endl;
102 ffStrip.open(mapFile.c_str(), std::fstream::out);
103 if (ffStrip.fail()) {
104 cerr <<
"Cannot open the file " << mapFile << endl;
108 static const Int_t kNIt = 4;
109 static const Int_t kNDet = 10;
112 Int_t MapDetL[kNDet][kNIt] = {
114 {14003, 14101, 14204, 15002},
115 {15113, 15211, 16014, 16112},
116 {16223, 17021, 17124, 17222},
117 {18033, 18131, 18234, 19032},
118 {19143, 19241, 20044, 20142},
120 {4053, 4151, 4254, 5052},
121 {5163, 5261, 6064, 6162},
122 {6273, 7071, 7174, 7272},
123 {8083, 8181, 8284, 9082},
124 {9193, 9291, 10094, 10192},
130 for (
Int_t det = 0; det < kNDet; det++) {
132 for (
Int_t j = 0; j < 24; j++) {
142 ffStrip << std::hex << std::setfill(
'0') << std::setw(8) << slot[
GetSlot(MapDetL[det][
i])]
143 << std::setfill(
' ') <<
'\t';
144 ffStrip << std::dec << j + 24 *
GetCon(MapDetL[det][
i]) <<
'\t';
145 ffStrip <<
GetDet(MapDetL[det][
i]) <<
'\t';
148 ffStrip << 47 - (MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24) <<
'\t';
150 ffStrip << MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24 <<
'\t';
154 }
else if (
GetSide(MapDetL[det][
i]) == 3 ||
GetSide(MapDetL[det][
i]) == 4) {
156 ffStrip << 47 - (MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24) <<
'\t';
158 ffStrip << MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24 <<
'\t';
163 ffStrip << -1 <<
'\t';
174 memset(slot, 0,
sizeof(slot));
178 slot[4] = 0x076caef6;
179 slot[5] = 0x06e9404a;
180 slot[6] = 0x076d180a;
181 slot[7] = 0x06e940b2;
182 slot[8] = 0x080c05e4;
183 slot[9] = 0x076d445b;
184 slot[10] = 0x07a96e8a;
186 slot[14] = 0x07a9fc6f;
187 slot[15] = 0x07a9b249;
188 slot[16] = 0x080bcc14;
189 slot[17] = 0x07a9b1d6;
190 slot[18] = 0x07a9e7d0;
191 slot[19] = 0x07a9fbf8;
192 slot[20] = 0x07a9eef2;
195 ff.open(placementMapFile.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
197 cerr <<
"2. Cannot open the file " << placementMapFile << endl;
202 ff << std::hex << std::setfill(
'0') << std::setw(8) << crate <<
'\t';
203 ff << std::dec <<
i <<
'\t';
204 ff << std::hex << std::setfill(
'0') << std::setw(8) << slot[
i] << endl;
210 Int_t MapDetR[kNDet][kNIt] = {
212 {14003, 14101, 14204, 15002},
213 {15113, 15211, 16014, 16112},
214 {16223, 17021, 17124, 17222},
215 {18033, 18131, 18234, 19032},
216 {19143, 19241, 20044, 20142},
218 {4053, 4151, 4254, 5052},
219 {5163, 5261, 6064, 6162},
220 {6273, 7071, 7174, 7272},
221 {8083, 8181, 8284, 9082},
222 {9193, 9291, 10094, 10192},
226 ffStrip.open(mapFile.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
227 if (ffStrip.fail()) {
228 cerr <<
"2. Cannot open the file " << mapFile << endl;
235 for (
Int_t det = 0; det < kNDet; det++) {
237 for (
Int_t j = 0; j < 24; j++) {
247 ffStrip << std::hex << std::setfill(
'0') << std::setw(8) << slot[
GetSlot(MapDetL[det][
i])]
248 << std::setfill(
' ') <<
'\t';
249 ffStrip << std::dec << j + 24 *
GetCon(MapDetL[det][
i]) <<
'\t';
250 ffStrip <<
GetDet(MapDetL[det][
i]) + 10 <<
'\t';
253 ffStrip << 47 - (MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24) <<
'\t';
255 ffStrip << MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24 <<
'\t';
259 }
else if (
GetSide(MapDetL[det][
i]) == 3 ||
GetSide(MapDetL[det][
i]) == 4) {
261 ffStrip << 47 - (MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24) <<
'\t';
263 ffStrip << MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24 <<
'\t';
268 ffStrip << -1 <<
'\t';