ScatteredPowerCorrection.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2006 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/General/Pulsar/ScatteredPowerCorrection.h
10 
11 #ifndef __Pulsar_ScatteredPowerCorrection_h
12 #define __Pulsar_ScatteredPowerCorrection_h
13 
14 #include "Pulsar/Transformation.h"
15 #include "Pulsar/TwoBitStats.h"
16 
17 #include "JenetAnderson98A5.h"
18 #include "TextInterface.h"
19 
20 namespace Pulsar {
21 
22  class Archive;
23  class Integration;
24 
26 
28  class ScatteredPowerCorrection : public Transformation<Integration> {
29 
30  public:
31 
34 
36  void correct (Archive*);
37 
39  void transform (Integration*);
40 
43 
45  class Interface;
46 
48  void set_check_smearing (bool flag) { check_smearing = flag; }
49 
51  bool get_check_smearing () const { return check_smearing; }
52 
53  protected:
54 
57 
60 
62  std::vector<float> thresholds;
63 
66 
68  bool check_smearing;
69  };
70 
71 }
72 
73 #endif
bool check_smearing
Fail if dedispersion has overly smeared the scattered power.
Definition: ScatteredPowerCorrection.h:73
virtual unsigned get_npol() const =0
Get the number of polarization measurements.
const float * get_amps() const
Return a pointer to the amplitudes array.
Definition: ProfileAmps.C:141
double get_centre_frequency(unsigned ichan) const
Get the Profile centre frequency attribute of the given channel.
Definition: Integration.C:359
virtual unsigned get_nsubint() const =0
Get the number of sub-integrations stored in the file.
The primary interface to pulsar observational data.
Definition: Archive.h:45
virtual unsigned get_nbin() const =0
Get the number of bins in each profile.
Signal::State get_state() const
Get the polarimetric state of the profiles.
Definition: Integration.C:599
const ExtensionType * get() const
Template method searches for an Extension of the specified type.
virtual TextInterface::Parser * get_interface()
Return a text interface that can be used to configure this instance.
Definition: ScatteredPowerCorrection.C:159
Corrects the power scattered due to 2-bit quantization.
Definition: ScatteredPowerCorrection.h:33
float get_weight(unsigned ichan) const
Get the Profile weight attribute of the given channel.
Definition: Integration.C:388
Integration * get_Integration(unsigned subint)
Return pointer to the specified Integration.
Definition: IntegrationManager.C:41
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
double get_dispersion_measure() const
Get the dispersion measure (in )
Definition: Integration.C:456
unsigned get_nsamp() const
double get_bandwidth() const
Get the bandwidth (in MHz)
Definition: Integration.C:445
Reference::To< TwoBitStats > twobit_stats
Two-bit statistics.
Definition: ScatteredPowerCorrection.h:70
void correct(Archive *)
The scattered power correction operation.
Definition: ScatteredPowerCorrection.C:22
std::vector< float > thresholds
The estimated thresholds at record time.
Definition: ScatteredPowerCorrection.h:67
void transform(Integration *)
The scattered power correction operation.
Definition: ScatteredPowerCorrection.C:48
Stores histograms of two-bit low-voltage states.
Definition: TwoBitStats.h:30
JenetAnderson98::EquationA5 ja98_a5
Inverts equation A5 of Jenet & Anderson 98.
Definition: ScatteredPowerCorrection.h:64
virtual unsigned get_nchan() const =0
Get the number of chans.
const std::string get_message() const
ScatteredPowerCorrection()
Default constructor.
Definition: ScatteredPowerCorrection.C:17
Defines the PSRCHIVE library.
Definition: CalSource.h:17
bool get_check_smearing() const
Fail if dedispersion has overly smeared the scattered power.
Definition: ScatteredPowerCorrection.h:56
JenetAnderson98 ja98
Theoretical treatment of quantization effects.
Definition: ScatteredPowerCorrection.h:61
double evaluate(double mean_Phi)
virtual double get_folding_period() const =0
Get the folding or topocentric pulsar period (in seconds)
void set_check_smearing(bool flag)
Fail if dedispersion has overly smeared the scattered power.
Definition: ScatteredPowerCorrection.h:53
Profile * get_Profile(unsigned ipol, unsigned ichan)
Returns a pointer to the Profile given by the specified indeces.
Definition: Integration.C:306

Generated using doxygen 1.8.17