Jpp  17.3.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
KM3NETDAQ::JDAQRun Struct Reference

Simple data structure for DAQ run. More...

#include <JRuncontrolToolkit.hh>

Public Member Functions

 JDAQRun ()
 Default constructor . More...
 
 JDAQRun (const std::string &path, const int run, const std::string &extension="root")
 Constructor . More...
 
 JDAQRun (const std::string &path, const int unique_id, const int run, const std::string &extension="root")
 Constructor . More...
 
 JDAQRun (const char *file_name)
 Constructor. More...
 
std::string toString () const
 Convert DAQ run to string. More...
 

Static Public Member Functions

static const char * getPrefix ()
 Get file name prefix. More...
 
static JDAQRun valueOf (const std::string &file_name)
 Extract DAQ run parameters. More...
 
static std::string getFilename (const std::string &path, const int unique_id, const int run)
 Get file name of run. More...
 

Public Attributes

std::string path
 directory path More...
 
int unique_id
 unique identifier More...
 
int run
 run number More...
 
std::string extension
 file name extension More...
 

Detailed Description

Simple data structure for DAQ run.

Definition at line 254 of file JRuncontrolToolkit.hh.

Constructor & Destructor Documentation

KM3NETDAQ::JDAQRun::JDAQRun ( )
inline

Default constructor .

Definition at line 258 of file JRuncontrolToolkit.hh.

258  :
259  unique_id(-1),
260  run (-1)
261  {}
int unique_id
unique identifier
KM3NETDAQ::JDAQRun::JDAQRun ( const std::string path,
const int  run,
const std::string extension = "root" 
)
inline

Constructor .

Parameters
pathdirectory path
runrun number
extensionfile name extension

Definition at line 271 of file JRuncontrolToolkit.hh.

274  {
275  this->path = path;
276  this->unique_id = -1;
277  this->run = run;
278  this->extension = extension;
279  }
std::string extension
file name extension
int unique_id
unique identifier
std::string path
directory path
KM3NETDAQ::JDAQRun::JDAQRun ( const std::string path,
const int  unique_id,
const int  run,
const std::string extension = "root" 
)
inline

Constructor .

Parameters
pathdirectory path
unique_idunique identifier
runrun number
extensionfile name extension

Definition at line 290 of file JRuncontrolToolkit.hh.

294  {
295  this->path = path;
296  this->unique_id = unique_id;
297  this->run = run;
298  this->extension = extension;
299  }
std::string extension
file name extension
int unique_id
unique identifier
std::string path
directory path
KM3NETDAQ::JDAQRun::JDAQRun ( const char *  file_name)
inline

Constructor.

Parameters
file_namefile name

Definition at line 307 of file JRuncontrolToolkit.hh.

308  {
309  *this = valueOf(file_name);
310  }
static JDAQRun valueOf(const std::string &file_name)
Extract DAQ run parameters.

Member Function Documentation

static const char* KM3NETDAQ::JDAQRun::getPrefix ( )
inlinestatic

Get file name prefix.

Returns
prefix

Definition at line 318 of file JRuncontrolToolkit.hh.

319  {
320  return "KM3NeT";
321  }
static JDAQRun KM3NETDAQ::JDAQRun::valueOf ( const std::string file_name)
inlinestatic

Extract DAQ run parameters.

Parameters
file_namefile name
Returns
DAQ run parameters

Definition at line 330 of file JRuncontrolToolkit.hh.

331  {
332  JDAQRun result;
333 
334  using namespace std;
335 
336  string buffer(file_name);
337 
338  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
339  if (*i == '_') {
340  *i = ' ';
341  }
342  }
343 
344  istringstream is(buffer);
345 
346  if (is >> result.path >> result.unique_id) {
347 
348  size_t pos = result.path.find(getPrefix()); // standard %KM3NeT file name?
349 
350  if (pos == string::npos) {
351  pos = result.path.rfind("/"); // standard directory path
352  }
353 
354  if (pos != string::npos) {
355  result.path.erase(pos);
356  }
357 
358  if (!(is >> result.run)) {
359 
360  result.run = result.unique_id; // no unique identifier
361  result.unique_id = -1;
362 
363  is.clear();
364  }
365 
366  is >> result.extension;
367 
368  if (!result.extension.empty() && result.extension[0] == '.') {
369  result.extension.erase(0, 1);
370  }
371 
372  return result;
373  }
374 
375  throw JIOException("JDAQRun::valueOf() error parsing " + buffer);
376  }
is
Definition: JDAQCHSM.chsm:167
return result
Definition: JPolint.hh:764
static const char * getPrefix()
Get file name prefix.
JDAQRun()
Default constructor .
std::string KM3NETDAQ::JDAQRun::toString ( ) const
inline

Convert DAQ run to string.

Returns
string

Definition at line 384 of file JRuncontrolToolkit.hh.

385  {
386  using namespace std;
387 
388  ostringstream os;
389 
390  if (!path.empty()) {
391 
392  os << path;
393 
394  if (*path.rbegin() != '/') {
395  os << '/';
396  }
397  }
398 
399  os << getPrefix()
400  << "_" << setw(8) << setfill('0') << unique_id
401  << "_" << setw(8) << setfill('0') << run
402  << '.' << extension;
403 
404  return os.str();
405  }
std::string extension
file name extension
int unique_id
unique identifier
std::string path
directory path
static const char * getPrefix()
Get file name prefix.
static std::string KM3NETDAQ::JDAQRun::getFilename ( const std::string path,
const int  unique_id,
const int  run 
)
inlinestatic

Get file name of run.

Parameters
pathdirectory path
unique_idunique identifier
runrun number
Returns
file name

Definition at line 416 of file JRuncontrolToolkit.hh.

417  {
418  return JDAQRun(path, unique_id, run).toString();
419  }
int unique_id
unique identifier
std::string path
directory path
JDAQRun()
Default constructor .

Member Data Documentation

std::string KM3NETDAQ::JDAQRun::path

directory path

Definition at line 422 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::unique_id

unique identifier

Definition at line 423 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::run

run number

Definition at line 424 of file JRuncontrolToolkit.hh.

std::string KM3NETDAQ::JDAQRun::extension

file name extension

Definition at line 425 of file JRuncontrolToolkit.hh.


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