89 if (
nullptr == gGeoManager) LOG(fatal) <<
"No GeoManager";
91 TObjArray* nodes = gGeoManager->GetTopNode()->GetNodes();
92 for (
Int_t iNode = 0; iNode < nodes->GetEntriesFast(); iNode++) {
93 TGeoNode* node = (TGeoNode*) nodes->At(iNode);
94 LOG(info) <<
"Inspect node " << iNode <<
" " << node->GetName();
95 if (TString(node->GetName()).Contains(
"tof")) {
100 LOG(info) <<
"Found TOF geometry " << TString(node->GetName());
101 if (TString(node->GetName()).EqualTo(
"tof1_0")) {
102 LOG(info) <<
"Found TOF geometry v07a";
107 else if (TString(node->GetName()).EqualTo(
"tof_v12b_0")) {
108 LOG(info) <<
"Found TOF geometry v12b.";
113 else if (TString(node->GetName()).Contains(
"v13")) {
115 LOG(info) <<
"Found TOF geometry " << TString(node->GetName()) <<
", treat as Id 12b ";
120 else if ((TString(node->GetName()).Contains(
"v14")) || (TString(node->GetName()).Contains(
"v16a"))
121 || (TString(node->GetName()).Contains(
"v16c")) || (TString(node->GetName()).Contains(
"v16d"))
122 || (TString(node->GetName()).Contains(
"v16e")) || (TString(node->GetName()).Contains(
"v17a"))
123 || (TString(node->GetName()).Contains(
"v17c")) || (TString(node->GetName()).Contains(
"v19"))) {
124 LOG(info) <<
"CbmTofGeoHandler::CheckGeometryVersion: Found TOF geometry " << TString(node->GetName())
125 <<
", treat as Id 14a ";
130 if (TString(node->GetName()).Contains(
"v14a_n")) {
132 LOG(fatal) <<
"Using node names instead of volume names to extract "
134 <<
"in a MC simulation only works with GEANT3 VMC!";
141 else if ((TString(node->GetName()).Contains(
"v21")) || (TString(node->GetName()).Contains(
"v18"))
142 || (TString(node->GetName()).Contains(
"v20")) || (TString(node->GetName()).Contains(
"v22"))
143 || (TString(node->GetName()).Contains(
"v24"))) {
144 LOG(info) <<
"CbmTofGeoHandler::CheckGeometryVersion: Found TOF geometry " << TString(node->GetName())
145 <<
", treat as Id 21a ";
152 LOG(fatal) <<
"Found an unknown TOF geometry.";
158 LOG(fatal) <<
"No TOF geometry found!";
267 Int_t countertype = 0;
276 smtype = Volname[5] -
'0';
283 smtype = Volname[7] -
'0';
297 TString csmtype = Volname(7, Volname.Length());
298 smtype = csmtype.Atoi();
313 smtype = Volname[7] -
'0';
316 TString cType = cTemp(8, 2);
317 countertype = cType.Atoi();
329 LOG(debug1) <<
"GetUniqueCounterId: ";
333 LOG(debug1) <<
" SMtype: " << smtype <<
" SModule: " << smodule <<
" CounterType: " << countertype
334 <<
" Counter: " <<
counter <<
" Gap: " << gap <<
" Cell: " << cell;
337 LOG(debug1) <<
" SMtype: " << smtype <<
" SModule: " << smodule <<
" Counter: " <<
counter <<
" Gap: " << gap
338 <<
" Cell: " << cell;
345 LOG(debug1) <<
" Unique ID: " << Form(
"0x%08x", result);