General/Pulsar/SyntheticPolnProfile.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2005 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/General/Pulsar/SyntheticPolnProfile.h
10 
11 #ifndef __Pulsar_SyntheticPolnProfile_h
12 #define __Pulsar_SyntheticPolnProfile_h
13 
14 #include "MEAL/Univariate.h"
15 #include "MEAL/Scalar.h"
16 
17 namespace Pulsar {
18 
19  class PolnProfile;
20 
22 
23  class SyntheticPolnProfile : public Reference::Able {
24 
25  public:
26 
29 
32 
35 
38 
40  void set_degree (float);
41 
43  void set_noise_variance (float);
44 
47 
49  void set_position_angle (float);
50 
53 
56 
58  PolnProfile* get_PolnProfile (unsigned nbin) const;
59 
60  protected:
61 
64 
66  float noise_variance;
67 
70 
72  float constant_degree;
73 
76 
79 
82 
85 
86  };
87 
88 }
89 
90 #endif
~SyntheticPolnProfile()
Destructor.
Definition: SyntheticPolnProfile.C:29
Reference::To< MEAL::Univariate< MEAL::Scalar > > total_intensity
The functional form of the total intensity.
Definition: General/Pulsar/SyntheticPolnProfile.h:68
Stokes< float > get_Stokes(unsigned ibin) const
Get the Stokes 4-vector for the specified bin.
Definition: PolnProfile.C:246
float constant_degree
The constant degree of polarization.
Definition: General/Pulsar/SyntheticPolnProfile.h:77
void set_linear(MEAL::Univariate< MEAL::Scalar > *)
Set the functional form of the linear polarization.
Definition: SyntheticPolnProfile.C:90
const float * get_amps() const
Return a pointer to the amplitudes array.
Definition: ProfileAmps.C:141
void set_noise(float)
Set the standard deviation of the noise.
Definition: SyntheticPolnProfile.C:55
void set_swims_variance(float)
Set the peak variance of the simulated SWIMS/jitter noise.
Definition: SyntheticPolnProfile.C:60
void set_noise_variance(float)
Set the variance of the noise.
Definition: SyntheticPolnProfile.C:50
Reference::To< MEAL::Univariate< MEAL::Scalar > > degree
The functional form of the degree of polarization.
Definition: General/Pulsar/SyntheticPolnProfile.h:74
const ScalarMath sin(const ScalarMath &x)
Any quantity recorded as a function of pulse phase.
Definition: Profile.h:45
PolnProfile * get_PolnProfile(unsigned nbin) const
Get the polarimetric profile.
Definition: SyntheticPolnProfile.C:117
unsigned get_nbin() const
Return the number of bins.
Definition: ProfileAmps.h:50
Reference::To< MEAL::Univariate< MEAL::Scalar > > linear
The functional form of the linear polarization.
Definition: General/Pulsar/SyntheticPolnProfile.h:86
const ScalarMath sqrt(const ScalarMath &x)
void set_swims(float)
Set the peak standard deviation of the simulated SWIMS/jitter noise.
Definition: SyntheticPolnProfile.C:65
Type * release()
Type * get() const
void set_value(const Type &value)
Reference::To< MEAL::Univariate< MEAL::Scalar > > position_angle
The functional form of the position angle.
Definition: General/Pulsar/SyntheticPolnProfile.h:80
unsigned get_nbin() const
Get the number of bins.
Definition: PolnProfile.C:139
float constant_position_angle
The constant position angle.
Definition: General/Pulsar/SyntheticPolnProfile.h:83
Polarimetric pulse profile transformations and derivations.
Definition: PolnProfile.h:34
void set_circular(MEAL::Univariate< MEAL::Scalar > *)
Set the functional form of the circular polarization.
Definition: SyntheticPolnProfile.C:95
float noise_variance
The variance of the noise.
Definition: General/Pulsar/SyntheticPolnProfile.h:71
void zero()
set all amplitudes to zero
Definition: Profile.C:365
SyntheticPolnProfile()
Default constructor.
Definition: SyntheticPolnProfile.C:19
const ScalarMath cos(const ScalarMath &x)
void set_baseline(float)
The the off-pulse baseline mean.
Definition: SyntheticPolnProfile.C:71
void set_position_angle(MEAL::Univariate< MEAL::Scalar > *)
Set the functional form of the position angle.
Definition: SyntheticPolnProfile.C:78
void set_total_intensity(MEAL::Univariate< MEAL::Scalar > *)
Set the functional form of the total intensity.
Definition: SyntheticPolnProfile.C:34
Defines the PSRCHIVE library.
Definition: CalSource.h:17
void set_degree(MEAL::Univariate< MEAL::Scalar > *)
Set the functional form of the degree of polarization.
Definition: SyntheticPolnProfile.C:39
Reference::To< MEAL::Univariate< MEAL::Scalar > > circular
The functional form of the circular polarization.
Definition: General/Pulsar/SyntheticPolnProfile.h:89
const Profile * get_Profile(unsigned ipol) const
Get the specifed constant profile.
Definition: PolnProfile.C:147

Generated using doxygen 1.8.17