1#ifndef __JROOT__JROOTCLASSSELECTOR__
2#define __JROOT__JROOTCLASSSELECTOR__
22namespace JPP {
using namespace JROOT; }
37 public JEquals<JROOTClassSelector, const char* const>
53 std::string(type_name)
63 std::string(type_name)
90 if (getNamespace(*
this) ==
"" || getNamespace(selector) ==
"")
91 return (getClassname(*
this) == getClassname(selector));
93 return (getNamespace(*
this) == getNamespace(selector) &&
94 getClassname(*
this) == getClassname(selector));
104 bool equals(
const char*
const selector)
const
220 for (const_iterator i = this->begin(); i != this->end(); ++i) {
221 if (*i == selector) {
256 for (std::string buffer; in >> buffer; ) {
258 const TRegexp regexp(buffer.substr(1).c_str());
264 for (JROOTClassSelection::iterator i =
object.begin(); i !=
object.end(); ) {
266 if (TString(i->c_str()).Contains(regexp))
276 object.insert(buffer.substr(1));
281 object.insert(buffer);
299 for (const_iterator i =
object.begin(); i !=
object.end(); ++i) {
300 out << *i << std::endl;
std::string getClassname(const std::string &type_name)
Get type name, i.e. part after JEEP::TYPENAME_SEPARATOR.
std::string getNamespace(const std::string &type_name)
Get name space, i.e. part before JEEP::TYPENAME_SEPARATOR.
void for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist)
For each data type method.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.
std::set< JROOTClassSelector > getROOTClassSelection(const bool option=false)
Get ROOT class selection.
const char * getName()
Get ROOT name of given data type.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary class for a type holder.
Auxiliary class for ROOT class selection.
bool getOption() const
Get option to include name space.
JROOTClassSelection(const std::set< JROOTClassSelector > &selection, const bool option=false)
Contructor.
void remove()
Remove data type.
friend std::istream & operator>>(std::istream &in, JROOTClassSelection &object)
Read ROOT class selection from input.
void add()
Add given data type.
bool is_valid() const
Get status of given data type.
friend std::ostream & operator<<(std::ostream &out, const JROOTClassSelection &object)
Write ROOT class selection to output.
void operator()(const JType< T > &type)
Add data type.
JROOTClassSelection(const bool option=false)
Contructor.
bool option
include namespace
JROOTClassSelection(const JType< T > &typelist, const bool option=false)
Contructor.
bool operator()(const JType< T > &type) const
Get status of given data type.
Auxiliary class to select ROOT class based on class name.
bool operator()(const JType< T > &type) const
Get status of given data type.
JROOTClassSelector()
Default contructor.
bool equals(const char *const selector) const
Equals method.
bool equals(const JROOTClassSelector &selector) const
Equals method.
JROOTClassSelector(const JType< T > &type, const bool option)
Contructor.
JROOTClassSelector(const char *const type_name)
Contructor.
JROOTClassSelector(const std::string &type_name)
Contructor.