RDFAnalysis  0.1.1
Physics analysis with ROOT::RDataFrame
INodeWriter.h
Go to the documentation of this file.
1 #ifndef RDFAnalysis_INodeWriter_H
2 #define RDFAnalysis_INodeWriter_H
3 
4 #include "RDFAnalysis/Node.h"
6 
7 #include <string>
8 
14 class TDirectory;
15 
16 namespace RDFAnalysis {
27  template <typename Detail>
28  class INodeWriter {
29  public:
30  virtual ~INodeWriter() {}
31 
38  virtual void write(
39  Node<Detail>& node,
40  TDirectory* directory,
41  std::size_t depth) = 0;
42 
52  virtual void write(
53  typename Scheduler<Detail>::Region& region,
54  TDirectory* directory,
55  std::size_t depth)
56  {
57  return write(*region.node, directory, depth);
58  }
59  }; //> end class INodeWriter
60 } //> end namespace RDFAnalysis
61 
62 #endif //> !RDFAnalysis_INodeWriter_H
virtual void write(typename Scheduler< Detail >::Region &region, TDirectory *directory, std::size_t depth)
Write the contents of a region to a directory.
Definition: INodeWriter.h:52
node_t * node
The node that defines the final selection of this region.
Definition: Scheduler.h:51
File containing the central analysis class.
Helper struct to define a region.
Definition: Scheduler.h:49
Base class for writing specific information from Nodes to file.
Definition: INodeWriter.h:28
Definition: CutflowDetail.h:11
Class to represent a single step in the analysis process.
Definition: Node.h:32
virtual void write(Node< Detail > &node, TDirectory *directory, std::size_t depth)=0
Write the contents of node to directory.
virtual ~INodeWriter()
Definition: INodeWriter.h:30