All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LightPath.h
Go to the documentation of this file.
1 /**
2  * \file LightPath.h
3  *
4  * \ingroup Algorithms
5  *
6  * \brief Class def header for a class LightPath
7  *
8  * @author Rui
9  */
10 
11 /** \addtogroup Algorithms
12 
13  @{*/
14 #ifndef LightPath_H
15 #define LightPath_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 <numeric>
35 #include <functional>
36 #include <algorithm>
37 
38 namespace flashmatch{
39 /**
40  \class LightPath
41  User defined class LightPath ... these comments are used to generate
42  doxygen documentation!
43  */
44 
46 
47  public:
48 
49  /// Default constructor
50  LightPath(const std::string name="LightPath");
51 
52  /// Default destructor
54 
55  // Setter function
56  double Set_Gap ( double x) { _gap =x; return _gap;}
57 
58  // Flash Hypothesis for Trajectory (Track)
59  flashmatch::QCluster_t MakeQCluster(const ::geoalgo::Trajectory& trj) const;
60 
61  void MakeQCluster(const ::geoalgo::Vector& pt_1,
62  const ::geoalgo::Vector& pt_2,
63  flashmatch::QCluster_t& Q_cluster,
64  double dedx=-1) const;
65 
66  // Getter for light yield configured paramater
67  double GetLightYield() const { return _light_yield; }
68 
69  protected:
70 
71  void _Configure_(const Config_t &pset);
72 
73  double _gap;
74  double _light_yield;
75  double _dEdxMIP;
76  };
77 
78  /**
79  \class flashmatch::LightPathFactory
80  */
82  public:
83  /// ctor
85  /// dtor
87  /// creation method
88  BaseAlgorithm* create(const std::string instance_name) { return new LightPath(instance_name); }
89  };
90 }
91 
92 #endif
93 /** @} */ // end of doxygen group
Abstract base class for factory (to be implemented per flash)
process_name opflash particleana ie x
double GetLightYield() const
Definition: LightPath.h:67
Class def header for a class BaseAlgorithm.
fhicl::ParameterSet Config_t
Configuration object.
Definition: FMWKInterface.h:31
flashmatch::QCluster_t MakeQCluster(const ::geoalgo::Trajectory &trj) const
Definition: LightPath.cxx:76
LightPath(const std::string name="LightPath")
Default constructor.
Definition: LightPath.cxx:10
Collection of charge deposition 3D point (cluster)
void add_factory(const std::string name, flashmatch::CustomAlgoFactoryBase *factory)
Factory registration method (should be called by global factory instance in algorithm header) ...
~LightPath()
Default destructor.
Definition: LightPath.h:53
static CustomAlgoFactory & get()
Static sharable instance getter.
Class def header for a class CustomAlgoFactory.
double Set_Gap(double x)
Definition: LightPath.h:56
void _Configure_(const Config_t &pset)
Definition: LightPath.cxx:17
BaseAlgorithm * create(const std::string instance_name)
creation method
Definition: LightPath.h:88
const std::string & name() const
Name getter, defined in a logger instance attribute.
Definition: LoggerFeature.h:51