rootNames.h
Go to the documentation of this file.
1 #ifndef canvas_Persistency_Provenance_rootNames_h
2 #define canvas_Persistency_Provenance_rootNames_h
3 
6 #include "canvas/Persistency/Provenance/Compatibility/BranchIDList.h"
13 
14 #include <string>
15 #include <typeinfo>
16 
17 namespace art {
18  struct FileFormatVersion;
19  class History;
20 
21  namespace rootNames {
22 
23  //------------------------------------------------------------------
24  // Parentage Tree
26 
27  // Branches on parentage tree
30 
31  //------------------------------------------------------------------
32  // MetaData Tree (1 entry per file)
34 
35  // FileIndex Tree
37 
38  // Event History Tree
40 
41  // Branches on EventHistory Tree
43 
44  //------------------------------------------------------------------
45  // Other tree names
46  std::string const& eventTreeName();
49 
50 #define ART_ROOTNAME(T, N) \
51  template <> \
52  inline char const* metaBranchRootName<T>() \
53  { \
54  return N; \
55  }
56 
57 #define ART_ROOTNAME_SIMPLE(T) ART_ROOTNAME(T, #T)
58 
59  template <typename T>
60  char const*
62  {
64  << "art::metaBranchRootName requires a specialization for type "
65  << TypeID(typeid(T)).className() << "\n";
66  }
67 
69  ART_ROOTNAME_SIMPLE(FileIndex) // supporting backwards compatibility
71  ART_ROOTNAME(ProductRegistry, "ProductRegistry")
74  ART_ROOTNAME_SIMPLE(BranchIDLists)
75  ART_ROOTNAME(BranchChildren, "ProductDependencies")
76  ART_ROOTNAME(History, "EventHistory")
77 
78 #undef ART_ROOTNAME_SIMPLE
79 #undef ART_ROOTNAME
80 
81  } // rootNames
82 }
83 #endif /* canvas_Persistency_Provenance_rootNames_h */
84 
85 // Local Variables:
86 // mode: c++
87 // End:
std::string className() const
std::string const & eventTreeName()
std::string const & parentageTreeName()
std::map< ProcessHistoryID const, ProcessHistory > ProcessHistoryMap
std::string const & eventMetaDataTreeName()
#define ART_ROOTNAME(T, N)
Definition: rootNames.h:50
std::string const & eventHistoryTreeName()
std::string const & dataTreeName(BranchType bt)
std::string const & parentageBranchName()
char const * metaBranchRootName()
Definition: rootNames.h:61
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
BranchType
Definition: BranchType.h:18
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
std::string const & eventHistoryBranchName()
std::string const & fileIndexTreeName()
double T
Definition: Xdiff_gwt.C:5
std::map< fhicl::ParameterSetID, ParameterSetBlob > ParameterSetMap
#define ART_ROOTNAME_SIMPLE(T)
Definition: rootNames.h:57
std::string const & parentageIDBranchName()
std::string const & metaDataTreeName()
enum BeamMode string