CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends

PhysicsTools::TrainerMonitoring::Module Class Reference

#include <TrainerMonitoring.h>

List of all members.

Public Member Functions

template<typename T >
void book (const std::string &name, T *object)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
template<typename T , typename T1 >
Tbook (const std::string &name, T1 a1)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4)
template<typename T , typename T1 , typename T2 , typename T3 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3)
template<typename T , typename T1 , typename T2 >
Tbook (const std::string &name, T1 a1, T2 a2)
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
Tbook (const std::string &name, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
template<typename T >
Tbook (const std::string &name)
 ~Module ()

Protected Member Functions

 Module ()
void write (TDirectory *dir)

Private Member Functions

void add (Object *object)
template<typename T >
void reg (const std::string &name, T *object)

Private Attributes

std::map< std::string,
boost::shared_ptr< Object > > 
data
TDirectory * dir

Friends

class TrainerMonitoring

Detailed Description

Definition at line 42 of file TrainerMonitoring.h.


Constructor & Destructor Documentation

PhysicsTools::TrainerMonitoring::Module::~Module ( )

Definition at line 61 of file TrainerMonitoring.cc.

{
}
PhysicsTools::TrainerMonitoring::Module::Module ( ) [protected]

Definition at line 57 of file TrainerMonitoring.cc.

{
}

Member Function Documentation

void PhysicsTools::TrainerMonitoring::Module::add ( Object object) [private]

Definition at line 73 of file TrainerMonitoring.cc.

References runTheMatrix::data, and PhysicsTools::TrainerMonitoring::Object::getName().

Referenced by book().

{
        boost::shared_ptr<Object> ptr(object);
        if (!data.insert(std::make_pair(object->getName(), ptr)).second)
                throw cms::Exception("DuplicateNode")
                        << "Node \"" << object->getName() << "\" already"
                           " exists." << std::endl;
}
template<typename T >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name) [inline]

Definition at line 51 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                               {
                        T *obj = new T();
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4 
) [inline]

Definition at line 80 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                           {
                        T *obj = new T(a1, a2, a3, a4);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2 
) [inline]

Definition at line 65 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                             {
                        T *obj = new T(a1, a2);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7,
T8  a8,
T9  a9 
) [inline]

Definition at line 122 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                                                              {
                        T *obj = new T(a1, a2, a3, a4, a5, a6, a7, a8, a9);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7,
T8  a8 
) [inline]

Definition at line 113 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                                                       {
                        T *obj = new T(a1, a2, a3, a4, a5, a6, a7, a8);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) [inline]

Definition at line 96 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                                         {
                        T *obj = new T(a1, a2, a3, a4, a5, a6);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) [inline]

Definition at line 104 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                                                {
                        T *obj = new T(a1, a2, a3, a4, a5, a6, a7);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) [inline]

Definition at line 88 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                                  {
                        T *obj = new T(a1, a2, a3, a4, a5);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1 
) [inline]

Definition at line 58 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                      {
                        T *obj = new T(a1);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T , typename T1 , typename T2 , typename T3 >
T* PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T1  a1,
T2  a2,
T3  a3 
) [inline]

Definition at line 72 of file TrainerMonitoring.h.

References VarParsing::obj, and reg().

                                                                    {
                        T *obj = new T(a1, a2, a3);
                        this->reg(name, obj);
                        return obj;
                }
template<typename T >
void PhysicsTools::TrainerMonitoring::Module::book ( const std::string &  name,
T object 
) [inline]

Definition at line 47 of file TrainerMonitoring.h.

References add().

Referenced by PhysicsTools::TrainProcessor::doTrainBegin(), and reg().

                { add(new RootObject<T>(name, object)); }
template<typename T >
void PhysicsTools::TrainerMonitoring::Module::reg ( const std::string &  name,
T object 
) [inline, private]

Definition at line 195 of file TrainerMonitoring.h.

References book(), and PhysicsTools::helper::trainerMonitoringRootClear().

Referenced by book().

{
        helper::trainerMonitoringRootClear(object,
                        boost::mpl::or_<
                                boost::is_base_of<TH1, T>,
                                boost::is_base_of<TTree, T> >());
        this->book(name, object);
}
void PhysicsTools::TrainerMonitoring::Module::write ( TDirectory *  dir) [protected]

Definition at line 65 of file TrainerMonitoring.cc.

References runTheMatrix::data.

{
        typedef std::map<std::string, boost::shared_ptr<Object> > Map;
        for(Map::const_iterator iter = data.begin();
            iter != data.end(); ++iter)
                iter->second->write(dir);
}

Friends And Related Function Documentation

friend class TrainerMonitoring [friend]

Definition at line 129 of file TrainerMonitoring.h.


Member Data Documentation

std::map<std::string, boost::shared_ptr<Object> > PhysicsTools::TrainerMonitoring::Module::data [private]

Definition at line 142 of file TrainerMonitoring.h.

Definition at line 141 of file TrainerMonitoring.h.