ATLAS Offline Software
Loading...
Searching...
No Matches
VP1EventFile::Imp Class Reference
Collaboration diagram for VP1EventFile::Imp:

Public Member Functions

 Imp ()
 Imp (const QString &fn, const QString &sum, int r, int e, unsigned t, bool isvalid)

Static Public Member Functions

static ImpinitFromFilename (const QString &filename, const QString &md5sum)

Public Attributes

QString fileName
QString md5Sum
int runNumber
unsigned long long eventNumber
unsigned rawTime
bool valid

Detailed Description

Definition at line 20 of file VP1EventFile.cxx.

Constructor & Destructor Documentation

◆ Imp() [1/2]

VP1EventFile::Imp::Imp ( )
inline

Definition at line 22 of file VP1EventFile.cxx.

22: runNumber(0), eventNumber(0), rawTime(0), valid(false) {}
unsigned long long eventNumber

◆ Imp() [2/2]

VP1EventFile::Imp::Imp ( const QString & fn,
const QString & sum,
int r,
int e,
unsigned t,
bool isvalid )
inline

Definition at line 23 of file VP1EventFile.cxx.

25 : fileName(fn), md5Sum(sum),
26 runNumber(r), eventNumber(e), rawTime(t), valid(isvalid)
27 {}
int r
Definition globals.cxx:22

Member Function Documentation

◆ initFromFilename()

VP1EventFile::Imp * VP1EventFile::Imp::initFromFilename ( const QString & filename,
const QString & md5sum )
static

Definition at line 45 of file VP1EventFile.cxx.

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())
53 return new Imp;
54
55 //We find the relevant part of the filename the following way:
56 //Starting from the back, we find the first part which contains at
57 //least two underscores)
58 int ieventinfo=-1;
59 for (int i=filenameparts.count()-1;i>=0;--i) {
60 if (filenameparts.at(i).count('_')>=2) {
61 ieventinfo = i;
62 break;
63 }
64 }
65 if (ieventinfo==-1)
66 return new Imp;
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)
74 return new Imp;
75 bool ok;
76 int time = eventinfoparts.at(eventinfoparts.count()-1).toInt(&ok);
77 // if (!ok||time<1175378400/*april 1. 2007*/||time>2058991200/*april 1 2035*/)
78 if (!ok||time>2058991200/*april 1 2035*/)//No lower bound sanity check, since the events sometimes have faulty ~1970 timestamps!
79 return new Imp;
80
81 unsigned long long eventnumber = eventinfoparts.at(eventinfoparts.count()-2).toInt(&ok);
82 if (!ok)
83 return new Imp;
84 int runnumber = eventinfoparts.at(eventinfoparts.count()-3).toInt(&ok);
85 if (!ok)
86 return new Imp;
87 return new Imp(filename,md5sum,runnumber,eventnumber,time,true);
88}
QDateTime time() const
static std::vector< uint32_t > runnumber
Definition iLumiCalc.h:37

Member Data Documentation

◆ eventNumber

unsigned long long VP1EventFile::Imp::eventNumber

Definition at line 31 of file VP1EventFile.cxx.

◆ fileName

QString VP1EventFile::Imp::fileName

Definition at line 28 of file VP1EventFile.cxx.

◆ md5Sum

QString VP1EventFile::Imp::md5Sum

Definition at line 29 of file VP1EventFile.cxx.

◆ rawTime

unsigned VP1EventFile::Imp::rawTime

Definition at line 32 of file VP1EventFile.cxx.

◆ runNumber

int VP1EventFile::Imp::runNumber

Definition at line 30 of file VP1EventFile.cxx.

◆ valid

bool VP1EventFile::Imp::valid

Definition at line 33 of file VP1EventFile.cxx.


The documentation for this class was generated from the following file: