Detsim.h
Go to the documentation of this file.
1 /**
2  Convert ionization electrons into ADC.
3 
4  This class assumes fine-grained field responses calculated at
5  impact positions along lines across the wire pitch for each plane.
6  */
7 
8 #ifndef WIRECELL_DETSIM
9 #define WIRECELL_DETSIM
10 
11 #include "WireCellIface/IDetsim.h"
13 
14 namespace WireCell {
15 
16  class Detsim : public IDetsim, public IConfigurable {
17  public:
18 
19  Detsim(
20  std::string wire_params, // name of the IWireParameters object
21  std::string field_response_filename, // name of a .json.gz file holding garfield field responses
22  double time_origin = 0.0*units::seconds, // the absolute time from which depo times are interpreted.
23  double tick = 0.5*units::microseconds, // digitization sample time
24  double min_readout_time = 5*units::milliseconds,//will have at least this much time read out
25 
26  double binsize_l = 2.0*units::millimeter,
27  double time_offset = 0.0*units::microsecond,
28  double origin_l = 0.0*units::microsecond,
29  double DL=5.3*units::centimeter2/units::second,
30  double DT=12.8*units::centimeter2/units::second,
31  double drift_velocity = 1.6*units::millimeter/units::microsecond,
32  double max_sigma_l = 5*units::microsecond,
33  double nsigma=3.0);
34 
35 
36 
37 
38  // IQueuedoutNode.
39  /// A frame will be returned once sufficient depos are collected (or EOS).
40  virtual bool operator()(const input_pointer& depo, output_queue& outq_frames);
41 
42 
43 
44  };
45 
46 }
47 
48 #endif
49 
virtual bool operator()(const input_pointer &depo, output_queue &outq_frames)
A frame will be returned once sufficient depos are collected (or EOS).
Detsim(std::string wire_params, std::string field_response_filename, double time_origin=0.0 *units::seconds, double tick=0.5 *units::microseconds, double min_readout_time=5 *units::milliseconds, double binsize_l=2.0 *units::millimeter, double time_offset=0.0 *units::microsecond, double origin_l=0.0 *units::microsecond, double DL=5.3 *units::centimeter2/units::second, double DT=12.8 *units::centimeter2/units::second, double drift_velocity=1.6 *units::millimeter/units::microsecond, double max_sigma_l=5 *units::microsecond, double nsigma=3.0)
std::string string
Definition: nybbler.cc:12
static const double microsecond
Definition: Units.h:94
microsecond microseconds
Alias for common language habits.
Definition: spacetime.h:117
const double tick
second seconds
Alias for common language habits.
Definition: spacetime.h:83
static const double centimeter2
Definition: Units.h:27
Definition: Main.h:22
millisecond milliseconds
Alias for common language habits.
Definition: spacetime.h:100
static const double second
Definition: Units.h:92
static const double millimeter
Definition: Units.h:22