The Gaudi Framework  v29r0 (ff2e7097)
RootHistCnv::RootCompressionSettings Class Reference

Simple class to decode a ROOT compression settings string, of the form '<Alg>:<level>' into the integer code to pass to ROOT. More...

#include <src/RootCompressionSettings.h>

Public Member Functions

 RootCompressionSettings (const std::string &settings)
 Standard constructor. More...
 
int level () const
 Get the level. More...
 

Private Attributes

int m_level
 The cached ROOT compression level int. More...
 

Detailed Description

Simple class to decode a ROOT compression settings string, of the form '<Alg>:<level>' into the integer code to pass to ROOT.

Author
Chris Jones
Date
2013-10-24

Definition at line 20 of file RootCompressionSettings.h.

Constructor & Destructor Documentation

RootHistCnv::RootCompressionSettings::RootCompressionSettings ( const std::string settings)

Standard constructor.

Definition at line 19 of file RootCompressionSettings.cpp.

20  : m_level( ROOT::CompressionSettings( ROOT::kZLIB, 1 ) )
21 {
22  const std::string::size_type idx = settings.find( ':' );
23  if ( idx != std::string::npos ) {
24  // Get compression algorithm type
25  const std::string alg = settings.substr( 0, idx );
26  ROOT::ECompressionAlgorithm alg_code = ROOT::kUseGlobalSetting;
27  if ( alg == "ZLIB" ) {
28  alg_code = ROOT::kZLIB;
29  } else if ( alg == "LZMA" ) {
30  alg_code = ROOT::kLZMA;
31  } else {
32  throw std::runtime_error( "ERROR: Unknown ROOT compression algorithm:" + alg );
33  }
34 
35  // get compression level
36  const std::string slev = settings.substr( idx + 1 );
37  const int ilev = std::stoi( slev );
38 
39  // set the level
40  m_level = ROOT::CompressionSettings( alg_code, ilev );
41  }
42 }
STL class.
T find(T...args)
T substr(T...args)
T stoi(T...args)
int m_level
The cached ROOT compression level int.

Member Function Documentation

int RootHistCnv::RootCompressionSettings::level ( ) const
inline

Get the level.

Definition at line 30 of file RootCompressionSettings.h.

30 { return m_level; }
int m_level
The cached ROOT compression level int.

Member Data Documentation

int RootHistCnv::RootCompressionSettings::m_level
private

The cached ROOT compression level int.

Definition at line 23 of file RootCompressionSettings.h.


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