File indexing completed on 2025-06-17 01:30:34
0001 #ifndef IOPool_TFileAdaptor_TFileAdaptor_h
0002 #define IOPool_TFileAdaptor_TFileAdaptor_h
0003
0004 #include "FWCore/Utilities/interface/propagate_const.h"
0005
0006 #include <map>
0007 #include <memory>
0008 #include <string>
0009 #include <vector>
0010
0011 class TPluginManager;
0012
0013 namespace edm {
0014 class ActivityRegistry;
0015 class ConfigurationDescriptions;
0016 class ParameterSet;
0017 }
0018
0019
0020 class TFileAdaptor {
0021 public:
0022 TFileAdaptor(edm::ParameterSet const& pset, edm::ActivityRegistry& ar);
0023
0024 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0025
0026 friend class TFileAdaptorUI;
0027
0028 private:
0029
0030 void termination(void) const;
0031
0032
0033 void stats(std::ostream& o) const;
0034
0035 void statsXML(std::map<std::string, std::string>& data) const;
0036
0037 static void addType(TPluginManager* mgr, char const* type, int altType = 0);
0038 bool native(char const* proto) const;
0039
0040 bool enabled_;
0041 bool doStats_;
0042 bool enablePrefetching_;
0043 std::string cacheHint_;
0044 std::string readHint_;
0045 std::string tempDir_;
0046 double minFree_;
0047 std::vector<std::string> native_;
0048 unsigned int timeout_;
0049 unsigned int debugLevel_;
0050 };
0051
0052
0053
0054
0055
0056
0057
0058
0059 class TFileAdaptorUI {
0060 public:
0061 TFileAdaptorUI();
0062 ~TFileAdaptorUI();
0063
0064
0065 void stats() const;
0066
0067 private:
0068 edm::propagate_const<std::shared_ptr<TFileAdaptor>> me;
0069 };
0070
0071 #endif