CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/IOPool/TFileAdaptor/src/TFileAdaptor.h

Go to the documentation of this file.
00001 #ifndef IOPool_TFileAdaptor_TFileAdaptor_h
00002 #define IOPool_TFileAdaptor_TFileAdaptor_h
00003 
00004 #include <map>
00005 #include <string>
00006 #include <vector>
00007 
00008 class TPluginManager;
00009 
00010 namespace edm {
00011   class ActivityRegistry;
00012   class ConfigurationDescriptions;
00013   class ParameterSet;
00014 }
00015 
00016 // Driver for configuring ROOT plug-in manager to use TStorageFactoryFile.
00017 class TFileAdaptor {
00018 public:
00019   TFileAdaptor(edm::ParameterSet const& p, edm::ActivityRegistry& ar);
00020 
00021   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
00022 
00023   // Write current Storage statistics on a ostream
00024   void termination(void) const;
00025 
00026   void stats(std::ostream &o) const;
00027 
00028   void statsXML(std::map<std::string, std::string> &data) const;
00029 
00030 private:
00031   static void addType(TPluginManager* mgr, char const* type);
00032   bool native(char const* proto) const;
00033 
00034   bool enabled_;
00035   bool doStats_;
00036   std::string cacheHint_;
00037   std::string readHint_;
00038   std::string tempDir_;
00039   double minFree_;
00040   unsigned int timeout_;
00041   std::vector<std::string> native_;
00042 
00043 };
00044 
00045 namespace edm {
00046   namespace service {
00047     inline
00048     bool isProcessWideService(TFileAdaptor const*) {
00049       return true;
00050     }
00051   }
00052 }
00053 #endif