11#ifndef __DynamicResponse_h
12#define __DynamicResponse_h
14#include "Pulsar/ArchiveExtension.h"
15#include "Pulsar/Profile.h"
22 class DynamicResponse :
public Pulsar::Archive::Extension
31 DynamicResponse (
const DynamicResponse& extension);
37 DynamicResponse*
clone ()
const {
return new DynamicResponse(*
this); }
40 void set_nchan (
unsigned);
43 unsigned get_nchan ()
const;
46 void set_ntime (
unsigned);
49 unsigned get_ntime ()
const;
52 void set_npol (
unsigned);
55 unsigned get_npol ()
const;
58 void set_minimum_epoch (
const MJD& epoch) { minimum_epoch = epoch; }
60 MJD get_minimum_epoch ()
const {
return minimum_epoch; }
63 void set_maximum_epoch (
const MJD& epoch) { maximum_epoch = epoch; }
65 MJD get_maximum_epoch ()
const {
return maximum_epoch; }
68 void set_centre_frequency (
double freq) { centre_frequency = freq; }
70 double get_centre_frequency ()
const {
return centre_frequency; }
73 void set_bandwidth (
double freq) { bandwidth = freq; }
75 double get_bandwidth ()
const {
return bandwidth; }
78 void set_impulse_pos (
unsigned nsamp) { impulse_pos = nsamp; }
81 unsigned get_impulse_pos ()
const {
return impulse_pos; }
84 void set_impulse_neg (
unsigned nsamp) { impulse_neg = nsamp; }
87 unsigned get_impulse_neg ()
const {
return impulse_neg; }
93 std::vector<std::complex<double>>& get_data () {
return response; }
96 const std::vector<std::complex<double>>& get_data ()
const {
return response; }
100 void set_data (
const std::vector<std::complex<double>>&);
112 unsigned impulse_pos = 0;
115 unsigned impulse_neg = 0;
123 double centre_frequency = 0;
125 double bandwidth = 0;
128 std::vector<std::complex<double>> response;
virtual Extension * clone() const =0
Return a new copy-constructed instance identical to this instance.
Defines the PSRCHIVE library.
Definition CalSource.h:17