All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IWireHistogramTool.h
Go to the documentation of this file.
1 #ifndef IWireHistogramTool_H
2 #define IWireHistogramTool_H
3 ////////////////////////////////////////////////////////////////////////
4 //
5 // Class: IWireHistogramTool
6 // Module Type: tool
7 // File: IWireHistogramTool.h
8 //
9 // This provides an interface for tools which do histogramming
10 // of various quantities associated to recob::Hit objects
11 //
12 // Created by Tracy Usher (usher@slac.stanford.edu) on October 16, 2017
13 //
14 ////////////////////////////////////////////////////////////////////////
15 
16 #include "fhiclcpp/ParameterSet.h"
17 #include "art/Framework/Services/Registry/ServiceHandle.h"
18 #include "art_root_io/TFileService.h"
19 #include "canvas/Persistency/Common/Ptr.h"
22 
24 {
25 public:
26  /**
27  * @brief Virtual Destructor
28  */
29  virtual ~IWireHistogramTool() noexcept = default;
30 
31  /**
32  * @brief Interface for configuring the particular algorithm tool
33  *
34  * @param ParameterSet The input set of parameters for configuration
35  */
36  virtual void configure(const fhicl::ParameterSet&) = 0;
37 
38  /**
39  * @brief Interface for initializing the histograms to be filled
40  *
41  * @param TFileService handle to the TFile service
42  * @param string subdirectory to store the hists in
43  */
44  virtual void initializeHists(art::ServiceHandle<art::TFileService>&, const std::string&) = 0;
45 
46  /**
47  * @brief Interface for method to executve at the end of run processing
48  *
49  * @param int number of events to use for normalization
50  */
51  virtual void endJob(int numEvents) = 0;
52 
53  /**
54  * @brief Interface for filling histograms
55  */
56  using WirePtrVec = std::vector<art::Ptr<recob::Wire>>;
57  using SimChannelMap = std::map<raw::ChannelID_t, const sim::SimChannel*>;
58 
59  virtual void fillHistograms(const WirePtrVec&, const SimChannelMap&, int) const = 0;
60 };
61 
62 #endif
virtual ~IWireHistogramTool() noexcept=default
Virtual Destructor.
std::vector< art::Ptr< recob::Wire >> WirePtrVec
Interface for filling histograms.
virtual void initializeHists(art::ServiceHandle< art::TFileService > &, const std::string &)=0
Interface for initializing the histograms to be filled.
virtual void fillHistograms(const WirePtrVec &, const SimChannelMap &, int) const =0
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
std::map< raw::ChannelID_t, const sim::SimChannel * > SimChannelMap
object containing MC truth information necessary for making RawDigits and doing back tracking ...
virtual void endJob(int numEvents)=0
Interface for method to executve at the end of run processing.
Declaration of basic channel signal object.