DepoFramer.h
Go to the documentation of this file.
1 #ifndef WIRECELLGEN_DEPOFRAMER
2 #define WIRECELLGEN_DEPOFRAMER
3 
8 
9 
10 namespace WireCell {
11  namespace Gen {
12 
13  /** DepoFramer handles simulating the signal from a set of
14  * depositions returning a frame of signal voltage traces.
15  * The frame ident is taken from the the ident of the input
16  * IDepoSet. It delegates to a "drifter" and a "ductor" to
17  * perform bulk drifting through the detector volume and
18  * conversion of charge distribution to signals via
19  * convolution with field and electronics response,
20  * respectively.
21  *
22  * Because the output frame will span the entire signal
23  * corresponding to the sent of input depositions, it is up to
24  * the caller to limit this set accordingly.
25  */
26  class DepoFramer : public IDepoFramer, public IConfigurable {
27  public:
28  DepoFramer(const std::string& drifter = "Drifter",
29  const std::string& ductor = "Ductor");
30  virtual ~DepoFramer();
31 
32 
33  // IDepoFramer interface
34  virtual bool operator()(const input_pointer& in, output_pointer& out);
35 
36  // IConfigurable interface
37  virtual void configure(const WireCell::Configuration& config);
39 
40  private:
44  };
45  }
46 }
47 
48 #endif
DepoFramer(const std::string &drifter="Drifter", const std::string &ductor="Ductor")
Definition: DepoFramer.cxx:12
std::string string
Definition: nybbler.cc:12
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.
Definition: DepoFramer.cxx:23
virtual bool operator()(const input_pointer &in, output_pointer &out)
The calling signature:
Definition: DepoFramer.cxx:39
std::shared_ptr< const IDepoSet > input_pointer
Definition: IFunctionNode.h:39
static Config * config
Definition: config.cpp:1054
std::shared_ptr< const IFrame > output_pointer
Definition: IFunctionNode.h:40
IDrifter::pointer m_drifter
Definition: DepoFramer.h:42
Definition: Main.h:22
std::string m_drifter_tn
Definition: DepoFramer.h:41
std::shared_ptr< IDrifter > pointer
Definition: IDrifter.h:21
virtual void configure(const WireCell::Configuration &config)
Accept a configuration.
Definition: DepoFramer.cxx:31
std::shared_ptr< IDuctor > pointer
Definition: IDuctor.h:25
Json::Value Configuration
Definition: Configuration.h:50
IDuctor::pointer m_ductor
Definition: DepoFramer.h:43