1#ifndef __JROOT__JROOTPRINTER__ 
    2#define __JROOT__JROOTPRINTER__ 
    7#pragma GCC diagnostic push 
    8#pragma GCC diagnostic ignored "-Wall" 
   12#pragma GCC diagnostic pop 
   28namespace JPP { 
using namespace JROOT; }
 
   90    static inline void print(std::ostream&              out,
 
   92                             const std::string&         key,
 
  101      for (string::size_type il = 0, ir = 0; ir != string::npos && cls.
is_valid(); il = ir + 1) {
 
  103        cls = cls.
find(trim(key.substr(il, ir - il)).c_str());
 
 
  128    static inline void print(std::ostream&              out,
 
 
  149    static inline void print(std::ostream&            out,
 
  151                             const std::string&       key,
 
 
  166    static inline void print(std::ostream&            out,
 
 
 
  199    const TRegexp DOUBLE(
"[0-9.][eE][+-0-9]");
 
  201    string buffer = (
const char*) 
text;
 
  203    for (string::size_type pos = 0; pos != buffer.size(); ) {
 
  205      if (isalpha(buffer[pos]) || buffer[pos] == 
'_') {
 
  207        string::size_type len = 1;
 
  209        while (pos + len != buffer.size() && (isalnum(buffer[pos+len]) || buffer[pos+len] == 
'_' || buffer[pos+len] == 
'.')) {
 
  213        if (len != 1 || pos == 0 || TString(buffer.substr(pos-1).c_str()).Index(DOUBLE) != 0) {
 
  222          buffer.replace(pos, len, os.str());
 
  224          pos += os.str().size();
 
  233    return TFormula(
"/tmp", buffer.c_str()).Eval(0.0);
 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
ASCII I/O of objects with ROOT dictionary.
 
Simple data structure to support I/O of equations (see class JLANG::JEquation).
 
const char getDefaultDivision() const
Get default division character.
 
Exception for parsing value.
 
Implementation for ASCII output of objects with ROOT dictionary.
 
const JRootDictionary_t & getDictionary() const
Get dictictionary.
 
JRootWriter & putObject(const T &object)
Write object.
 
JRootWriter & put(const T &object)
Write object according equation format.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary classes and methods for ROOT I/O.
 
Double_t getResult(const TString &text, const T &object, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
Get result of given textual formula.
 
static data_type & getInstance()
Get unique instance of template class.
 
bool is_valid() const
Check validity of this addressable class.
 
JRootAddressableClass find(const char *const name) const
Find addressable base class or data member with given name within current class.
 
const char * getTypename() const
Get type name.
 
Type definition of ROOT based dictionary for ASCII I/O.
 
Auxiliary class for printing objects in ASCII format using JRootWriter.
 
static void print(std::ostream &out, const T &object, const JEquationParameters ¶meters, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
Write object to output using ROOT dictionary.
 
static void print(JRootWriter &writer, const JRootWritableClass &cls)
Write class contents to output.
 
static void print(std::ostream &out, const T &object, const std::string &key, const JEquationParameters ¶meters, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
Write part of object to output using ROOT dictionary.
 
static void print(std::ostream &out, const T &object, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
Write object to output using ROOT dictionary.
 
static void print(std::ostream &out, const T &object, const std::string &key, const JRootDictionary_t &dictionary=JRootDictionary::getInstance())
Write part of object to output using ROOT dictionary.
 
static JEquationParameters & getEquationParameters()
Get equation parameters.
 
static void setEquationParameters(const JEquationParameters &equation)
Set equation parameters.
 
ROOT class for writing from object.