IntegrationOrder.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2003 by Aidan Hotan
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/Base/Extensions/Pulsar/IntegrationOrder.h
10
11#ifndef __IntegrationOrder_h
12#define __IntegrationOrder_h
13
14#include "Pulsar/ArchiveExtension.h"
15
16namespace Pulsar {
17
19
23
25
26 public:
27
28 // These are the standard Archive::Extension methods:
29
31 IntegrationOrder (const char* name);
32
34 IntegrationOrder (const IntegrationOrder& extension);
35
37 const IntegrationOrder& operator= (const IntegrationOrder& extension);
38
40 virtual ~IntegrationOrder ();
41
43 virtual IntegrationOrder* clone () const = 0;
44
46 std::string get_IndexState () const;
47
49 std::string get_Unit () const;
50
52 unsigned size() const;
53
55 void resize (unsigned nsubint,
56 unsigned npol = 0,
57 unsigned nchan = 0,
58 unsigned nbin = 0);
59
61 void erase (unsigned i);
62
64 void set_Index (unsigned subint, double i);
65
67 double get_Index (unsigned subint) const;
68
69 // These are the virtual base methods of the IntegrationOrder class:
70
72 virtual void organise (Archive*, unsigned) = 0;
73
75 virtual void append (Archive*, const Archive*) = 0;
76
79 virtual void combine (Archive*, unsigned) = 0;
80
82 std::string get_short_name () const { return "order"; }
83
84 protected:
85
87 std::string IndexState;
88
90 std::string Unit;
91
93 std::vector<double> indices;
94
95 };
96
97}
98
99#endif
Definition ArchiveExtension.h:24
IntegrationOrder(const char *name)
Default constructor.
Definition IntegrationOrder.C:10
The primary interface to pulsar observational data.
Definition Archive.h:46
void set_Index(unsigned subint, double i)
Set the custom index value associated with an Integration.
Definition IntegrationOrder.C:77
virtual void organise(Archive *, unsigned)=0
Re-order the Integrations into the desired state.
std::vector< double > indices
Storage for the actual Integration indices.
Definition IntegrationOrder.h:93
virtual IntegrationOrder * clone() const =0
Clone method.
const IntegrationOrder & operator=(const IntegrationOrder &extension)
Operator =.
Definition IntegrationOrder.C:27
void resize(unsigned nsubint, unsigned npol=0, unsigned nchan=0, unsigned nbin=0)
Change the size of the index array.
Definition IntegrationOrder.C:50
virtual void combine(Archive *, unsigned)=0
virtual ~IntegrationOrder()
Destructor.
Definition IntegrationOrder.C:36
std::string get_short_name() const
Return a short name.
Definition IntegrationOrder.h:82
std::string get_Unit() const
Return a string describing the units of this state.
Definition IntegrationOrder.C:45
double get_Index(unsigned subint) const
Get the custom index value associated with an Integration.
Definition IntegrationOrder.C:68
std::string get_IndexState() const
Return a string describing the type of indexing used.
Definition IntegrationOrder.C:40
unsigned size() const
Return the size of the index array.
Definition IntegrationOrder.C:58
void erase(unsigned i)
Erase the specified index.
Definition IntegrationOrder.C:63
virtual void append(Archive *, const Archive *)=0
Add two Archive instances that have the same IntegrationOrder.
IntegrationOrder(const char *name)
Default constructor.
Definition IntegrationOrder.C:10
std::string IndexState
An index state identifier string.
Definition IntegrationOrder.h:87
std::string Unit
The units (if any) of this state.
Definition IntegrationOrder.h:90
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0