TruthSmearer.h
Go to the documentation of this file.
1 #ifndef WIRECELLGEN_TRUTHSMEARER
2 #define WIRECELLGEN_TRUTHSMEARER
3 
4 #include "WireCellUtil/Pimpos.h"
6 
9 
11 #include "WireCellIface/IRandom.h"
12 
13 namespace WireCell {
14  namespace Gen {
15 
16  class TruthSmearer : public IDuctor, public IConfigurable {
17  public:
18 
19  TruthSmearer();
20 
21  //virtual void reset();
22  virtual bool operator()(const input_pointer& depo, output_queue& frames);
23 
24  virtual void configure(const WireCell::Configuration& config);
26 
27  private:
28 
29  // The "Type:Name" of the IAnodePlane (default is "AnodePlane")
32 
36 
37  double m_start_time;
39  double m_tick;
40  double m_drift_speed;
41 
42  double m_time_smear;
46  double m_truth_gain; // sign of charge depos in output
47 
48  double m_nsigma;
51 
53 
54  void process(output_queue& frames);
55  bool start_processing(const input_pointer& depo);
56 
57  };
58  }
59 }
60 
61 #endif
std::string string
Definition: nybbler.cc:12
void process(output_queue &frames)
bool start_processing(const input_pointer &depo)
std::vector< pointer > vector
Definition: IData.h:21
IRandom::pointer m_rng
Definition: TruthSmearer.h:34
std::deque< output_pointer > output_queue
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.
static Config * config
Definition: config.cpp:1054
virtual void configure(const WireCell::Configuration &config)
Accept a configuration.
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
IAnodePlane::pointer m_anode
Definition: TruthSmearer.h:33
virtual bool operator()(const input_pointer &depo, output_queue &frames)
The calling signature:
Definition: Main.h:22
Json::Value Configuration
Definition: Configuration.h:50
std::shared_ptr< const IDepo > input_pointer