inlib  1.2.0
Public Member Functions | Protected Member Functions | Protected Attributes
inlib::rroot::fac Class Reference
Inheritance diagram for inlib::rroot::fac:
Inheritance graph
[legend]
Collaboration diagram for inlib::rroot::fac:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual irocreate (const std::string &a_class, const args &a_args)
 fac (ifile &a_file)
virtual ~fac ()
 fac (const fac &a_from)
facoperator= (const fac &)

Protected Member Functions

brancharg_branch (const args &a_args)

Protected Attributes

ifilem_file

Detailed Description

Definition at line 17 of file fac.


Constructor & Destructor Documentation

inlib::rroot::fac::fac ( ifile a_file) [inline]

Definition at line 74 of file fac.

:m_file(a_file){}
virtual inlib::rroot::fac::~fac ( ) [inline, virtual]

Definition at line 75 of file fac.

{}
inlib::rroot::fac::fac ( const fac a_from) [inline]

Definition at line 77 of file fac.

: ifac(a_from),m_file(a_from.m_file){}

Member Function Documentation

branch* inlib::rroot::fac::arg_branch ( const args a_args) [inline, protected]

Definition at line 80 of file fac.

                                         {
    void* p = ifac::find_args(a_args,ifac::arg_branch());
    if(!p) {
      m_file.out() << "inlib::rroot::fac::arg_branch :"
                   << " branch not found in args."
                   << std::endl;
      return 0;
    }
    return (branch*)p;
  }
virtual iro* inlib::rroot::fac::create ( const std::string &  a_class,
const args a_args 
) [inline, virtual]

Implements inlib::rroot::ifac.

Definition at line 19 of file fac.

                                                                   {
    //m_file.out() << "inlib::rroot::fac::create :"
    //      << " create object of class " << a_class << "..."
    //      << std::endl;
    if(a_class=="TBranch") {
      return new branch(m_file,*this);
    } else if(a_class=="TBranchElement") {
      return new branch_element(m_file,*this);

    } else if(a_class=="TLeafB") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf<char>(m_file.out(),*b,*this);

    } else if(a_class=="TLeafS") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf<short>(m_file.out(),*b,*this);

    } else if(a_class=="TLeafI") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf<int>(m_file.out(),*b,*this);

    } else if(a_class=="TLeafF") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf<float>(m_file.out(),*b,*this);

    } else if(a_class=="TLeafD") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf<double>(m_file.out(),*b,*this);

    } else if(a_class=="TLeafC") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf_string(m_file.out(),*b,*this);

    } else if(a_class=="TLeafElement") {
      branch* b = arg_branch(a_args);
      if(!b) return 0;
      return new leaf_element(m_file.out(),*b,*this);

    } else if(a_class=="TBasket") {
      return new basket(m_file);
    } else {
      m_file.out() << "inlib::rroot::fac::create :"
                   << " unknown class " << sout(a_class) << "."
                   << " Create a inlib::rroot::dummy object."
                   << std::endl;
      return new dummy();
    }
  }
fac& inlib::rroot::fac::operator= ( const fac ) [inline]

Definition at line 78 of file fac.

{return *this;}

Member Data Documentation

Definition at line 91 of file fac.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines