Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Variables.hpp

Go to the documentation of this file.
00001 #ifndef CAFE_VARIABLES_HPP_
00002 #define CAFE_VARIABLES_HPP_
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 class TBranch;
00008 class TTree;
00009 
00010 namespace cafe {
00011 
00012     class EventBase;
00013 
00035     class Variables {
00036     public:
00037         Variables();
00038         Variables(const std::vector<std::string>& names);
00039         Variables(const std::string& name1);
00040         Variables(const std::string& name1, const std::string& name2);
00041         Variables(const std::string& name1, const std::string& name2, const std::string& name3);
00042         Variables(const std::string& name1, const std::string& name2, const std::string& name3, const std::string& name4);
00043         Variables(const Variables& other);
00044         Variables& operator=(const Variables& other);
00045         Variables& add(const std::string& name);
00046         Variables& add(const std::vector<std::string>& name);
00047         ~Variables();
00048         bool empty() const;
00049     public:
00050         // Used only internally to do the work.
00051         void get(TTree *, TBranch *br, int cookie) const;
00052     private:
00054         std::vector<std::string>  _names;
00056         mutable std::vector<TBranch*> _subbranches;
00058         mutable int                   _cookie;
00061         mutable TBranch               *_branch;
00062     };
00063 
00064 }
00065 
00066 #endif // CAFE_VARIABLES_HPP_

Generated on Tue Mar 28 10:13:05 2006 for CAF by doxygen 1.3.4