43 std::string mapFile =
"../../../../input/TOF400_StripMap_RUN8_SRC.txt")
46 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};
47 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};
52 static const Int_t kNSlot = 23;
54 memset(slot, 0,
sizeof(slot));
65 slot[14] = 0x06e9403e;
66 slot[15] = 0x06e9da86;
67 slot[16] = 0x06e9043c;
68 slot[17] = 0x06e940b1;
69 slot[18] = 0x076ccf56;
70 slot[19] = 0x06e94032;
71 slot[20] = 0x076ccf5f;
76 ff.open(placementMapFile.c_str(), std::fstream::out);
78 cerr <<
"Cannot open the file " << placementMapFile << endl;
83 ff << std::hex << std::setfill(
'0') << std::setw(8) << crate <<
'\t';
84 ff << std::dec <<
i <<
'\t';
85 ff << std::hex << std::setfill(
'0') << std::setw(8) << slot[
i] << endl;
90 cout <<
"Num = " << Num << endl;
91 cout <<
"GetSlot(Num) = " <<
GetSlot(Num) <<
" GetCon(Num) = " <<
GetCon(Num) << endl;
92 cout <<
"GetDet(Num) = " <<
GetDet(Num) <<
" GetSide(Num) = " <<
GetSide(Num) << endl;
95 ffStrip.open(mapFile.c_str(), std::fstream::out);
97 cerr <<
"Cannot open the file " << mapFile << endl;
101 static const Int_t kNIt = 4;
102 static const Int_t kNDet = 10;
105 Int_t MapDetL[kNDet][kNIt] = {
107 {1053, 1154, 1251, 2052},
108 {2163, 2264, 3061, 3162},
109 {3273, 4074, 4171, 4372},
110 {5083, 5184, 5281, 6082},
111 {6193, 6294, 7091, 7192},
113 {14003, 14104, 14201, 15002},
114 {15113, 15214, 16011, 16112},
115 {16223, 17024, 17121, 17222},
116 {18033, 18134, 18231, 19032},
117 {19142, 19244, 20041, 20142},
123 for (
Int_t det = 0; det < kNDet; det++) {
125 for (
Int_t j = 0; j < 24; j++) {
135 ffStrip << std::hex << std::setfill(
'0') << std::setw(8) << slot[
GetSlot(MapDetL[det][
i])]
136 << std::setfill(
' ') <<
'\t';
137 ffStrip << std::dec << j + 24 *
GetCon(MapDetL[det][
i]) <<
'\t';
138 ffStrip <<
GetDet(MapDetL[det][
i]) + 10 <<
'\t';
141 ffStrip << 47 - (MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24) <<
'\t';
143 ffStrip << MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24 <<
'\t';
147 }
else if (
GetSide(MapDetL[det][
i]) == 3 ||
GetSide(MapDetL[det][
i]) == 4) {
149 ffStrip << 47 - (MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24) <<
'\t';
151 ffStrip << MapR[j] + (
GetSide(MapDetL[det][
i]) - 3) * 24 <<
'\t';
156 ffStrip << -1 <<
'\t';
167 memset(slot, 0,
sizeof(slot));
172 slot[2] = 0x076ccf6e;
173 slot[3] = 0x06e9404b;
174 slot[4] = 0x076cae7b;
175 slot[5] = 0x076caef6;
176 slot[6] = 0x06e9da91;
177 slot[7] = 0x076cae7a;
178 slot[8] = 0x07a8deb2;
180 slot[15] = 0x06e94033;
181 slot[16] = 0x046f408c;
182 slot[17] = 0x06e9e4b0;
183 slot[18] = 0x06e940be;
184 slot[19] = 0x076ccf62;
185 slot[20] = 0x076cad52;
186 slot[21] = 0x07a9fbf8;
189 ff.open(placementMapFile.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
191 cerr <<
"2. Cannot open the file " << placementMapFile << endl;
196 ff << std::hex << std::setfill(
'0') << std::setw(8) << crate <<
'\t';
197 ff << std::dec <<
i <<
'\t';
198 ff << std::hex << std::setfill(
'0') << std::setw(8) << slot[
i] << endl;
204 Int_t MapDetR[kNDet][kNIt] = {
206 {2003, 2104, 2201, 5202},
207 {3113, 3214, 4011, 4112},
208 {4223, 5024, 5121, 3022},
209 {6033, 6134, 6231, 7032},
210 {7143, 7244, 8041, 8142},
212 {15053, 15154, 15251, 16052},
213 {16163, 16264, 17061, 17162},
214 {17273, 18074, 18171, 18272},
215 {19083, 19184, 19281, 20082},
216 {20193, 20294, 21091, 21192},
220 ffStrip.open(mapFile.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
221 if (ffStrip.fail()) {
222 cerr <<
"2. Cannot open the file " << mapFile << endl;
229 for (
Int_t det = 0; det < kNDet; det++) {
231 for (
Int_t j = 0; j < 24; j++) {
241 ffStrip << std::hex << std::setfill(
'0') << std::setw(8) << slot[
GetSlot(MapDetR[det][
i])]
242 << std::setfill(
' ') <<
'\t';
243 ffStrip << std::dec << j + 24 *
GetCon(MapDetR[det][
i]) <<
'\t';
244 ffStrip <<
GetDet(MapDetR[det][
i]) <<
'\t';
247 Int_t str_temp2 = -1;
250 str_temp = 47 - (MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24);
252 str_temp2 = 48 - (23 - str_temp) - 1;
254 str_temp2 = 48 - (71 - str_temp) - 1;
257 cout <<
"Det " << det << endl;
258 str_temp = MapL[j] + (
GetSide(MapDetL[det][
i]) - 1) * 24;
260 str_temp2 = 48 - (23 - str_temp) - 1;
262 str_temp2 = 48 - (71 - str_temp) - 1;
263 cout <<
"str_temp = " << str_temp2 <<
"; str_temp2 = " << str_temp << endl;
267 str_temp = 23 - str_temp2;
269 str_temp = 71 - str_temp2;
271 ffStrip << str_temp <<
'\t';
274 }
else if (
GetSide(MapDetR[det][
i]) == 3 ||
GetSide(MapDetR[det][
i]) == 4) {
276 Int_t str_temp2 = -1;
278 str_temp = 47 - (MapR[j] + (
GetSide(MapDetR[det][
i]) - 3) * 24);
280 str_temp2 = 48 - (23 - str_temp) - 1;
282 str_temp2 = 48 - (71 - str_temp) - 1;
284 str_temp = MapR[j] + (
GetSide(MapDetR[det][
i]) - 3) * 24;
286 str_temp2 = 48 - (23 - str_temp) - 1;
288 str_temp2 = 48 - (71 - str_temp) - 1;
292 str_temp = 23 - str_temp2;
294 str_temp = 71 - str_temp2;
296 ffStrip << str_temp <<
'\t';
300 ffStrip << -1 <<
'\t';