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

Constructor & Destructor Documentation

KM3NETDAQ::JDAQRun::JDAQRun ( )
inline

Default constructor .

Definition at line 135 of file JRuncontrolToolkit.hh.

135  :
136  unique_id(-1),
137  run (-1)
138  {}
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 148 of file JRuncontrolToolkit.hh.

151  {
152  this->path = path;
153  this->unique_id = -1;
154  this->run = run;
155  this->extension = extension;
156  }
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 167 of file JRuncontrolToolkit.hh.

171  {
172  this->path = path;
173  this->unique_id = unique_id;
174  this->run = run;
175  this->extension = extension;
176  }
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 184 of file JRuncontrolToolkit.hh.

185  {
186  *this = valueOf(file_name);
187  }
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 195 of file JRuncontrolToolkit.hh.

196  {
197  return "KM3NeT";
198  }
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 207 of file JRuncontrolToolkit.hh.

208  {
209  JDAQRun result;
210 
211  using namespace std;
212 
213  string buffer(file_name);
214 
215  for (string::iterator i = buffer.begin(); i != buffer.end(); ++i) {
216  if (*i == '_') {
217  *i = ' ';
218  }
219  }
220 
221  istringstream is(buffer);
222 
223  if (is >> result.path >> result.unique_id) {
224 
225  size_t pos = result.path.find(getPrefix()); // standard %KM3NeT file name?
226 
227  if (pos == string::npos) {
228  pos = result.path.rfind("/"); // standard directory path
229  }
230 
231  if (pos != string::npos) {
232  result.path.erase(pos);
233  }
234 
235  if (!(is >> result.run)) {
236 
237  result.run = result.unique_id; // no unique identifier
238  result.unique_id = -1;
239 
240  is.clear();
241  }
242 
243  is >> result.extension;
244 
245  if (!result.extension.empty() && result.extension[0] == '.') {
246  result.extension.erase(0, 1);
247  }
248 
249  return result;
250  }
251 
252  THROW(JIOException, "JDAQRun::valueOf() error parsing " << buffer);
253  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
is
Definition: JDAQCHSM.chsm:167
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 261 of file JRuncontrolToolkit.hh.

262  {
263  using namespace std;
264 
265  ostringstream os;
266 
267  if (!path.empty()) {
268 
269  os << path;
270 
271  if (*path.rbegin() != '/') {
272  os << '/';
273  }
274  }
275 
276  os << getPrefix()
277  << "_" << setw(8) << setfill('0') << unique_id
278  << "_" << setw(8) << setfill('0') << run
279  << '.' << extension;
280 
281  return os.str();
282  }
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 293 of file JRuncontrolToolkit.hh.

294  {
295  return JDAQRun(path, unique_id, run).toString();
296  }
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 299 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::unique_id

unique identifier

Definition at line 300 of file JRuncontrolToolkit.hh.

int KM3NETDAQ::JDAQRun::run

run number

Definition at line 301 of file JRuncontrolToolkit.hh.

std::string KM3NETDAQ::JDAQRun::extension

file name extension

Definition at line 302 of file JRuncontrolToolkit.hh.


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