CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/Provenance/interface/FileFormatVersion.h

Go to the documentation of this file.
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     bool storedProductProvenanceUsed() const;
00032     int value() const {return value_;}
00033     
00034    private:
00035     int value_;
00036   };
00037 
00038   std::ostream&
00039   operator<< (std::ostream& os, FileFormatVersion const& ff);
00040 
00041 }
00042 #endif