QEventAuxData.hh

Go to the documentation of this file.
00001 
00011 #ifndef __Q_EVENT_AUXDATA_HH_
00012 #define __Q_EVENT_AUXDATA_HH_
00013 
00014 #include <map>
00015 #include <string>
00016 
00017 #include "QCuore.hh"
00018 
00019 class TObject;
00020 
00021 Q_BEGIN_NAMESPACE
00022 
00023 class QObject;
00024 
00025 class QEventAuxData {
00026 
00027     public:
00028         template<class T> class Datum  {
00029             public:
00030                 T obj;
00031                 const char* option;
00032         };
00033 
00035         QEventAuxData() {}
00037         virtual ~QEventAuxData();
00044         void SetTObject(const std::string& key, TObject* obj, const char* option = "") {fTObjectMap[key].obj = obj; fTObjectMap[key].option = option;}
00051         void SetQObject(const std::string& key, QObject* obj, const char* option = "") {fQObjectMap[key].obj = obj ; fQObjectMap[key].option = option;}
00058        void SetBool(const std::string& key, bool obj, const char* option = "") {fBoolMap[key].obj = obj ;fBoolMap[key].option = option;}
00065         void SetFloat(const std::string& key, float obj, const char* option = "") {fFloatMap[key].obj = obj ;fFloatMap[key].option = option;}
00072         void SetInt(const std::string& key, int obj, const char* option = "") {fIntMap[key].obj = obj ;fIntMap[key].option = option; }
00079         void SetDouble(const std::string& key, double obj, const char* option = "") {fDoubleMap[key].obj = obj ; fDoubleMap[key].option = option;}
00086         void SetString(const std::string& key, const std::string &obj, const char* option = "") {fStringMap[key].obj = obj ; fStringMap[key].option = option;}
00092         const TObject* GetTObject(const std::string& key) const {return fTObjectMap.find(key)->second.obj;}
00098         const QObject* GetQObject(const std::string& key) const  {return fQObjectMap.find(key)->second.obj;}
00104         int GetInt(const std::string& key) const {return fIntMap.find(key)->second.obj;}
00110        bool GetBool(const std::string& key) const {return fBoolMap.find(key)->second.obj;}
00116         float GetFloat(const std::string& key) const {return fFloatMap.find(key)->second.obj;}
00117 
00123         double GetDouble(const std::string& key) const {return fDoubleMap.find(key)->second.obj;}
00129         std::string GetString(const std::string& key) const {return fStringMap.find(key)->second.obj;}
00130 
00131         const std::map<std::string, Datum<TObject*> >&  GetTObjectMap() const { return fTObjectMap; }
00132 
00133         const std::map<std::string, Datum<QObject*> >&  GetQObjectMap() const { return fQObjectMap; }
00134         
00135         const std::map<std::string, Datum<bool> >&  GetBoolMap() const { return fBoolMap; }
00136         
00137         const std::map<std::string, Datum<float> >&  GetFloatMap() const { return fFloatMap; }
00138 
00139         const std::map<std::string, Datum<double> >&  GetDoubleMap() const { return fDoubleMap; }
00140         
00141         const std::map<std::string, Datum<int> >&  GetIntMap() const { return fIntMap; }
00142         
00143         const std::map<std::string, Datum<std::string> >&  GetStringMap() const { return fStringMap; }
00144 
00145         void Clear();
00146 
00147     private:
00149         std::map<std::string, Datum<TObject*> > fTObjectMap; 
00150         std::map<std::string, Datum<TObject*> >::iterator fTObjIter;
00152         std::map<std::string, Datum<QObject*> > fQObjectMap; 
00153         std::map<std::string, Datum<QObject*> >::iterator fQObjIter;
00155         std::map<std::string, Datum<bool> > fBoolMap; 
00156         std::map<std::string, Datum<bool> >::iterator fBIter;
00158         std::map<std::string, Datum<float> > fFloatMap; 
00159         std::map<std::string, Datum<float> >::iterator fFIter;
00161         std::map<std::string, Datum<double> > fDoubleMap; 
00162         std::map<std::string, Datum<double> >::iterator fDIter;
00164         std::map<std::string, Datum<int> > fIntMap; 
00165         std::map<std::string, Datum<int> >::iterator fIIter;
00167         std::map<std::string, Datum<std::string> > fStringMap; 
00168         std::map<std::string, Datum<std::string> >::iterator fSIter;
00169 
00170 };
00171 
00172 Q_END_NAMESPACE
00173 
00174 #endif

Generated on Tue Nov 16 10:49:56 2010 for CUORE Software by  doxygen 1.5.6