ImpactZipper.h
Go to the documentation of this file.
1 #ifndef WIRECELL_IMPACTZIPPER
2 #define WIRECELL_IMPACTZIPPER
3 
6 
7 namespace WireCell {
8  namespace Gen {
9 
10 
11  /** An ImpactZipper "zips" up through all the impact positions
12  * along a wire plane convolving the response functions and
13  * the local drifted charge distribution producing a waveform
14  * on each central wire.
15  */
17  {
20 
21  public:
22 
24  virtual ~ImpactZipper();
25 
26  /// Return the wire's waveform. If the response functions
27  /// are just field response (ie, instantaneous current)
28  /// then the waveforms are expressed as current integrated
29  /// over each sample bin and thus in units of charge. If
30  /// the response functions include electronics response
31  /// then the waveforms are in units of voltage
32  /// representing the sampling of the output of the FEE
33  /// amplifiers.
34 
35  // fixme: this should be a forward iterator so that it may cal bd.erase() safely to conserve memory
36  Waveform::realseq_t waveform(int wire) const;
37 
38  };
39 
40  } // Gen
41 } // WireCell
42 #endif /* WIRECELL_IMPACTZIPPER */
Sequence< real_t > realseq_t
Definition: Waveform.h:31
IPlaneImpactResponse::pointer m_pir
Definition: ImpactZipper.h:18
ImpactZipper(IPlaneImpactResponse::pointer pir, BinnedDiffusion &bd)
Definition: ImpactZipper.cxx:8
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
Definition: Main.h:22
Waveform::realseq_t waveform(int wire) const
BinnedDiffusion & m_bd
Definition: ImpactZipper.h:19