PlasmaResponseProduct.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2020 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // dspsr/Signal/General/dsp/PlasmaResponseProduct.h
10 
11 #ifndef __PlasmaResponseProduct_h
12 #define __PlasmaResponseProduct_h
13 
14 #include "dsp/PlasmaResponse.h"
15 
16 namespace dsp {
17 
19 
27  class PlasmaResponseProduct: public PlasmaResponse
28  {
29 
30  public:
31 
34 
37 
39  void prepare (const Observation* input, unsigned nchan);
40 
42  void add_response (PlasmaResponse* response);
43 
45  double delay_time (double freq) const;
46 
47  protected:
48 
50  std::vector< Reference::To<PlasmaResponse> > response;
51 
53  bool component_changed;
54 
57 
59  void build (unsigned ndat, unsigned nchan);
60 
61  };
62 
63 }
64 
65 #endif
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
std::vector< Reference::To< PlasmaResponse > > response
The responses.
Definition: PlasmaResponseProduct.h:60
bool component_changed
Flag set true when a component has changed.
Definition: PlasmaResponseProduct.h:63
Describes a frequency (or impulse) response.
Definition: Response.h:34
Response()
Default constructor.
Definition: Response.C:29
void set_component_changed(const Response &response)
Called when a component has changed.
Definition: PlasmaResponseProduct.C:57
unsigned nchan
Number of frequency divisions (channels)
Definition: Shape.h:115
Stores information about digital, band-limited, time-varying signals.
Definition: Observation.h:33
void prepare(const Observation *input, unsigned nchan)
Prepare a product to match the input.
Definition: PlasmaResponseProduct.C:22
PlasmaResponseProduct()
Default constructor.
Definition: PlasmaResponseProduct.C:12
double delay_time(double freq) const
Return the effective delay for the given frequency.
Definition: PlasmaResponseProduct.C:34
void build(unsigned ndat, unsigned nchan)
Construct by combining the reponses of the components.
Definition: PlasmaResponseProduct.C:65
unsigned ndat
Number of datum in each of the npol*nchan divisions.
Definition: Shape.h:118
void add_response(PlasmaResponse *response)
Add a response to the product.
Definition: PlasmaResponseProduct.C:50
~PlasmaResponseProduct()
Destructor.
Definition: PlasmaResponseProduct.C:17

Generated using doxygen 1.8.17