Jpp
 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 252 of file JRuncontrolToolkit.hh.

Constructor & Destructor Documentation

KM3NETDAQ::JDAQRun::JDAQRun ( )
inline

Default constructor .

Definition at line 256 of file JRuncontrolToolkit.hh.

256  :
257  unique_id(-1),
258  run (-1)
259  {}
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 269 of file JRuncontrolToolkit.hh.

272  {
273  this->path = path;
274  this->unique_id = -1;
275  this->run = run;
276  this->extension = extension;
277  }
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 288 of file JRuncontrolToolkit.hh.

292  {
293  this->path = path;
294  this->unique_id = unique_id;
295  this->run = run;
296  this->extension = extension;
297  }
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 305 of file JRuncontrolToolkit.hh.

306  {
307  *this = valueOf(file_name);
308  }
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 316 of file JRuncontrolToolkit.hh.

317  {
318  return "KM3NeT";
319  }
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 328 of file JRuncontrolToolkit.hh.

329  {
330  JDAQRun result;
331 
332  using namespace std;
333 
334  string buffer(file_name);
335 
336  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
337  if (*i == '_') {
338  *i = ' ';
339  }
340  }
341 
342  istringstream is(buffer);
343 
344  if (is >> result.path >> result.unique_id) {
345 
346  size_t pos = result.path.find(getPrefix()); // standard KM3NeT file name?
347 
348  if (pos == string::npos) {
349  pos = result.path.rfind("/"); // standard directory path
350  }
351 
352  if (pos != string::npos) {
353  result.path.erase(pos);
354  }
355 
356  if (!(is >> result.run)) {
357 
358  result.run = result.unique_id; // no unique identifier
359  result.unique_id = -1;
360 
361  is.clear();
362  }
363 
364  is >> result.extension;
365 
366  if (!result.extension.empty() && result.extension[0] == '.') {
367  result.extension.erase(0, 1);
368  }
369 
370  return result;
371  }
372 
373  throw JIOException("JDAQRun::valueOf() error parsing " + buffer);
374  }
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 382 of file JRuncontrolToolkit.hh.

383  {
384  using namespace std;
385 
386  ostringstream os;
387 
388  if (!path.empty()) {
389 
390  os << path;
391 
392  if (*path.rbegin() != '/') {
393  os << '/';
394  }
395  }
396 
397  os << getPrefix()
398  << "_" << setw(8) << setfill('0') << unique_id
399  << "_" << setw(8) << setfill('0') << run
400  << '.' << extension;
401 
402  return os.str();
403  }
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 414 of file JRuncontrolToolkit.hh.

415  {
416  return JDAQRun(path, unique_id, run).toString();
417  }
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 420 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::unique_id

unique identifier

Definition at line 421 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::run

run number

Definition at line 422 of file JRuncontrolToolkit.hh.

std::string KM3NETDAQ::JDAQRun::extension

file name extension

Definition at line 423 of file JRuncontrolToolkit.hh.


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