_____________________________________________________________________________
| 232 | |
| 233 | //_____________________________________________________________________________ |
| 234 | G4String GetNtupleFileName( |
| 235 | const G4String& fileName, |
| 236 | const G4String& fileType, |
| 237 | const G4String& ntupleName, |
| 238 | G4int cycle) |
| 239 | { |
| 240 | // Compose and return the ntuple specific file name: |
| 241 | // - add _nt_ntupleName suffix to the file base name |
| 242 | // - add _vN suffix if cycle > 0 |
| 243 | // - add _tN suffix if called on thread worker |
| 244 | // - add file extension if not present |
| 245 | |
| 246 | auto name = GetBaseName(fileName); |
| 247 | |
| 248 | // Add ntupleName |
| 249 | name.append("_nt_"); |
| 250 | name.append(ntupleName); |
| 251 | |
| 252 | // Add cycle number |
| 253 | if (cycle > 0) { |
| 254 | name.append("_v"); |
| 255 | name.append(std::to_string(cycle)); |
| 256 | } |
| 257 | |
| 258 | // Add thread Id to a file name if MT processing |
| 259 | if ( ! G4Threading::IsMasterThread() ) { |
| 260 | std::ostringstream os; |
| 261 | os << G4Threading::G4GetThreadId(); |
| 262 | name.append("_t"); |
| 263 | name.append(os.str()); |
| 264 | } |
| 265 | |
| 266 | // Add file extension |
| 267 | auto extension = GetExtension(fileName, fileType); |
| 268 | if (extension.size() != 0u) { |
| 269 | name.append("."); |
| 270 | name.append(extension); |
| 271 | } |
| 272 | |
| 273 | return name; |
| 274 | } |
| 275 | |
| 276 | //_____________________________________________________________________________ |
| 277 | G4String GetNtupleFileName( |
no test coverage detected