46{
47#if QTCORE_VERSION >= 0x050E00
48 QStringList filenameparts =
filename.split(
'.', Qt::SkipEmptyParts );
49#else
50 QStringList filenameparts =
filename.split(
'.', QString::SkipEmptyParts );
51#endif
52 if (filenameparts.isEmpty())
54
55
56
57
58 int ieventinfo=-1;
59 for (int i=filenameparts.count()-1;i>=0;--i) {
60 if (filenameparts.at(i).count('_')>=2) {
62 break;
63 }
64 }
65 if (ieventinfo==-1)
67
68#if QTCORE_VERSION >= 0x050E00
69 QStringList eventinfoparts = filenameparts.at(ieventinfo).split('_', Qt::SkipEmptyParts );
70#else
71 QStringList eventinfoparts = filenameparts.at(ieventinfo).split('_', QString::SkipEmptyParts );
72#endif
73 if (eventinfoparts.count()<3)
75 bool ok;
76 int time = eventinfoparts.at(eventinfoparts.count()-1).toInt(&ok);
77
78 if (!ok||
time>2058991200)
80
81 unsigned long long eventnumber = eventinfoparts.at(eventinfoparts.count()-2).toInt(&ok);
82 if (!ok)
84 int runnumber = eventinfoparts.at(eventinfoparts.count()-3).toInt(&ok);
85 if (!ok)
88}
static std::vector< uint32_t > runnumber