TimeIntegrate.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/TimeIntegrate.h
10 
11 #ifndef __Pulsar_TimeIntegrate_h
12 #define __Pulsar_TimeIntegrate_h
13 
14 #include "Pulsar/Integrate.h"
15 #include "Pulsar/Archive.h"
16 #include "Pulsar/EvenlySpaced.h"
17 #include "Pulsar/EvenlyWeighted.h"
18 
19 namespace Pulsar {
20 
22 
40  class TimeIntegrate : public Integrate<Archive> {
41 
42  public:
43 
45  void transform (Archive*);
46 
48  class EvenlySpaced;
49 
51  class EvenlyWeighted;
52 
54  class TargetDuration;
55  };
56 
57  class TimeIntegrate::EvenlySpaced :
58  public Integrate<Archive>::EvenlySpaced
59  {
60  unsigned get_size (const Archive* arch) { return arch->get_nsubint(); }
61  };
62 
63  class TimeIntegrate::EvenlyWeighted :
64  public Integrate<Archive>::EvenlyWeighted
65  {
66  unsigned get_size (const Archive* arch) { return arch->get_nsubint(); }
67  };
68 
69 }
70 
71 #endif
Definition: IntegrationExtension.h:29
void average(const Profile *that)
set this to the weighted average of this and that
Definition: Profile_average.C:52
bool range_checking_enabled
Container classes should check array indeces at the cost of performance.
Definition: Pulsar.C:10
void CombineSubints(const unsigned subint, const unsigned start, const unsigned stop)
Combine, by adding, multiple subints into one.
Definition: DigitiserCounts.C:141
Warning warning
Warning messages filter.
Definition: Pulsar.C:12
void transform(Archive *)
The frequency integration operation.
Definition: TimeIntegrate.C:31
virtual unsigned get_nextension() const
Return the number of extensions available.
Definition: Integration.C:30
virtual MJD get_epoch() const =0
Get the epoch of the rising edge of bin zero.
virtual unsigned get_nsubint() const =0
Get the number of sub-integrations stored in the file.
Any quantity recorded as a function of pulse phase.
Definition: Profile.h:45
virtual const Extension * get_extension(unsigned iextension) const
Return a pointer to the specified extension.
Definition: Integration.C:68
virtual void set_epoch(const MJD &mjd)=0
Set the epoch of the rising edge of bin zero.
The primary interface to pulsar observational data.
Definition: Archive.h:45
virtual void add_extension(Extension *extension)
Add an Extension to the Integration instance.
Definition: Integration.C:90
Type * get() const
virtual void update(const Integration *subint)
Update information based on the provided Integration.
Definition: IntegrationExtension.h:54
virtual void combine(Archive *, unsigned)=0
virtual double get_duration() const =0
Get the total time integrated (in seconds)
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
Stores digitizer histograms.
Definition: DigitiserCounts.h:25
virtual void set_duration(double seconds)=0
Set the total time integrated (in seconds)
virtual void integrate(const Integration *subint)
Integrate information from another Integration.
Definition: IntegrationExtension.h:51
Profile integration algorithms.
Definition: Integrate.h:41
Defines the PSRCHIVE library.
Definition: CalSource.h:17
virtual double get_folding_period() const =0
Get the folding or topocentric pulsar period (in seconds)
Alternative ways of ordering Integration instances.
Definition: IntegrationOrder.h:29
virtual void set_folding_period(double seconds)=0
Set the folding or topocentric pulsar period (in seconds)

Generated using doxygen 1.8.17