All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ChargeAnalytical.h
Go to the documentation of this file.
1 /**
2  * \file ChargeAnalytical.h
3  *
4  * \ingroup Algorithms
5  *
6  * \brief Class def header for a class ChargeAnalytical
7  *
8  * @author matthias
9  */
10 
11 /** \addtogroup Algorithms
12 
13  @{*/
14 #ifndef CHARGEANALYTICAL_H
15 #define CHARGEANALYTICAL_H
16 
17 #ifndef USING_LARSOFT
18 #define USING_LARSOFT 1
19 #endif
20 
21 #if USING_LARSOFT == 0
26 #else
31 #endif
32 
33 #include <iostream>
34 #include <math.h>
35 
36 namespace flashmatch {
37 
38  /**
39  \class ChargeAnalytical
40  User defined class ChargeAnalytical ... these comments are used to generate
41  doxygen documentation!
42  */
44 
45  public:
46 
47  /// Default constructor
48  ChargeAnalytical(const std::string name="ChargeAnalytical");
49 
50  /// Default destructor
52 
53  void FillEstimate(const QCluster_t&, Flash_t&) const;
54 
55  protected:
56 
57  void _Configure_(const Config_t &pset);
58 
59  double _global_qe; ///< Global QE
60  std::vector<double> _qe_v; ///< PMT-wise relative QE
61 
62  };
63 
64  /**
65  \class flashmatch::ChargeAnalyticalFactory
66  */
68  public:
69  /// ctor
71  /// dtor
73  /// creation method
74  BaseFlashHypothesis* create(const std::string instance_name) { return new ChargeAnalytical(instance_name); }
75  };
76 
77 }
78 
79 #endif
80 /** @} */ // end of doxygen group
81 
Abstract base class for factory (to be implemented per flash)
fhicl::ParameterSet Config_t
Configuration object.
Definition: FMWKInterface.h:31
void add_factory(const std::string name, flashmatch::FlashHypothesisFactoryBase *factory)
Factory registration method (should be called by global factory instance in algorithm header) ...
Struct to represent an optical flash.
BaseFlashHypothesis * create(const std::string instance_name)
creation method
Class def header for a class FlashHypothesisFactory.
Class def header for a class BaseFlashFilter.
Collection of charge deposition 3D point (cluster)
void _Configure_(const Config_t &pset)
Class def header for exception classes in OpT0Finder package.
std::vector< double > _qe_v
PMT-wise relative QE.
ChargeAnalytical(const std::string name="ChargeAnalytical")
Default constructor.
~ChargeAnalytical()
Default destructor.
void FillEstimate(const QCluster_t &, Flash_t &) const
Method to simply fill provided reference of flashmatch::Flash_t.
static FlashHypothesisFactory & get()
Static sharable instance getter.
const std::string & name() const
Name getter, defined in a logger instance attribute.
Definition: LoggerFeature.h:51