All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
INormalizeCharge.h
Go to the documentation of this file.
1 /**
2  * @file INormalizeCharge.h
3  *
4  * @brief This is an interface for an art Tool which scales charge by some
5  * factor given information about its associated hit.
6  *
7  * @author grayputnam@uchicago.edu
8  *
9  */
10 #ifndef INormalizeCharge_h
11 #define INormalizeCharge_h
12 
13 // Framework Includes
14 #include "fhiclcpp/ParameterSet.h"
15 #include "art/Framework/Principal/Event.h"
18 
19 /**
20  * @brief INormalizeCharge interface class definiton
21  */
23 {
24 public:
25  /**
26  * @brief Virtual Destructor
27  */
28  virtual ~INormalizeCharge() noexcept = default;
29 
30  virtual void configure(const fhicl::ParameterSet&) = 0;
31  virtual double Normalize(double dQdx, const art::Event& e, const recob::Hit &h, const geo::Point_t &location, const geo::Vector_t &direction, double t0) = 0;
32 };
33 
34 #endif
35 
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:164
virtual ~INormalizeCharge() noexcept=default
Virtual Destructor.
Declaration of signal hit object.
virtual void configure(const fhicl::ParameterSet &)=0
virtual double Normalize(double dQdx, const art::Event &e, const recob::Hit &h, const geo::Point_t &location, const geo::Vector_t &direction, double t0)=0
INormalizeCharge interface class definiton.
while getopts h
do i e
2D representation of charge deposited in the TDC/wire plane
Definition: Hit.h:48
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184