00001 #ifndef DataFormats_Provenance_FileFormatVersion_h 00002 #define DataFormats_Provenance_FileFormatVersion_h 00003 00004 #include <iosfwd> 00005 00006 namespace edm 00007 { 00008 class FileFormatVersion { 00009 public: 00010 FileFormatVersion() : value_(-1) { } 00011 explicit FileFormatVersion(int vers) : value_(vers) { } 00012 ~FileFormatVersion() {} 00013 bool isValid() const; 00014 bool productIDIsInt() const; 00015 bool lumiNumbers() const; 00016 bool newAuxiliary() const; 00017 bool runsAndLumis() const; 00018 bool eventHistoryBranch() const; 00019 bool eventHistoryTree() const; 00020 bool perEventProductIDs() const; 00021 bool splitProductIDs() const; 00022 bool fastCopyPossible() const; 00023 bool parameterSetsByReference() const; 00024 bool triggerPathsTracked() const; 00025 bool lumiInEventID() const; 00026 bool parameterSetsTree() const; 00027 bool processHistorySameWithinRun() const; 00028 bool hasIndexIntoFile() const; 00029 bool mergeOnlySequentialRunsOrLumis() const; 00030 bool noMetaDataTrees() const; 00031 int value() const {return value_;} 00032 00033 private: 00034 int value_; 00035 }; 00036 00037 std::ostream& 00038 operator<< (std::ostream& os, FileFormatVersion const& ff); 00039 00040 } 00041 #endif