BlipSource.h
Go to the documentation of this file.
1 /** A blip source produces individual energy depositions in various
2  * ways.
3  */
4 
5 #ifndef WIRECELLGEN_BLIPSOURCE
6 #define WIRECELLGEN_BLIPSOURCE
7 
8 
11 #include "WireCellIface/IRandom.h"
12 
13 namespace WireCell {
14  namespace Gen {
15 
16  class BlipSource : public IDepoSource, public IConfigurable {
17  public:
18  BlipSource();
19  virtual ~BlipSource();
20 
21  /// IDepoSource
22  virtual bool operator()(IDepo::pointer& depo);
23 
24  /// IConfigurable
25  virtual void configure(const WireCell::Configuration& cfg);
27 
28  // Internal base class for something that makes a scalar
29  struct ScalarMaker {
30  virtual double operator()() = 0;
31  virtual ~ScalarMaker() {};
32  };
33  // Internal base class for something that makes a scalar
34  struct PointMaker {
35  virtual Point operator()() = 0;
36  virtual ~PointMaker() {};
37  };
38 
39  private:
42 
43  double m_time, m_stop;
47  bool m_eos;
48  };
49  }
50 }
51 
52 #endif
53 
std::shared_ptr< const IDepo > pointer
Definition: IData.h:19
std::string string
Definition: nybbler.cc:12
virtual void configure(const WireCell::Configuration &cfg)
IConfigurable.
Definition: BlipSource.cxx:128
cfg
Definition: dbjson.py:29
IRandom::pointer m_rng
Definition: BlipSource.h:41
virtual bool operator()(IDepo::pointer &depo)
IDepoSource.
Definition: BlipSource.cxx:168
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
Definition: Main.h:22
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.
Definition: BlipSource.cxx:34
Json::Value Configuration
Definition: Configuration.h:50