DigitiserCounts.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2007 by David Smith
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/Base/Extensions/Pulsar/DigitiserCounts.h
10
11
12
13#ifndef __Pulsar_DigitiserCounts_h
14#define __Pulsar_DigitiserCounts_h
15
16#include "Pulsar/ArchiveExtension.h"
17
18using std::string;
19using std::vector;
20
21namespace Pulsar
22{
23
25 class DigitiserCounts : public Archive::Extension
26 {
27 public:
28
29 //Default constructor
30 DigitiserCounts ();
31
32 // Copy constructor
33 DigitiserCounts (const Pulsar::DigitiserCounts& extension);
34
35 // Operator =
36 const DigitiserCounts& operator= (const DigitiserCounts& extension);
37
38 // Destructor
39 ~DigitiserCounts ();
40
41 class FrequencyAppend;
42
44 void Append( const DigitiserCounts &src );
45
47 void Accumulate( const DigitiserCounts &src );
48
50 void frequency_append (Archive* to, const Archive* from);
51
53 DigitiserCounts* clone () const { return new DigitiserCounts( *this ); }
54
56 void CombineSubints(const unsigned subint, const unsigned start,
57 const unsigned stop);
58
61 class Interface;
62
64 class SubintCounts
65 {
66 public:
67 SubintCounts() {};
68 ~SubintCounts() {};
69
70 vector<long> data;
71 };
72
73 vector<SubintCounts> subints;
74
76 void resize (unsigned nsubint,
77 unsigned npol = 0,
78 unsigned nchan = 0,
79 unsigned nbin = 0);
80
82 void insert (unsigned isub);
83
84 void set_dig_mode( string s_dig_mode ) { dig_mode = s_dig_mode; }
85 void set_nlev( int s_nlev ) { nlev = s_nlev; }
86 void set_npthist( int s_npthist ) { npthist = s_npthist; }
87 void set_diglev( string s_diglev ) { diglev = s_diglev; }
88 void set_ndigr(int s_ndigr ) { ndigr = s_ndigr; }
89 void set_dyn_levt( float s_dyn_levt ) { dyn_levt = s_dyn_levt; }
90
91 string get_dig_mode( void ) const { return dig_mode; }
92 int get_nlev( void ) const { return nlev; }
93 int get_npthist( void ) const { return npthist; }
94 string get_diglev( void ) const { return diglev; }
95 int get_ndigr( void ) const { return ndigr; }
96 float get_dyn_levt( void ) const { return dyn_levt; }
97 private:
98 string dig_mode;
99 int nlev;
100 int npthist;
101 int ndigr;
102 string diglev;
103 float dyn_levt;
104 };
105
106}
107
108#endif
109
110
Definition ArchiveExtension.h:24
The primary interface to pulsar observational data.
Definition Archive.h:46
Stores digitizer histograms.
Definition DigitiserCounts.h:26
void Accumulate(const DigitiserCounts &src)
Accumulate the counts from another DigitiserCounts onto this one.
Definition DigitiserCounts.C:115
void insert(unsigned isub)
Insert a new zeroed subint at the given location.
Definition DigitiserCounts.C:180
TextInterface::Parser * get_interface()
Get the text interface.
Definition DigitiserCounts.C:69
DigitiserCounts * clone() const
Clone method.
Definition DigitiserCounts.h:53
void frequency_append(Archive *to, const Archive *from)
Accumulate DigitiserCounts from another archive.
Definition DigitiserCounts.C:188
void resize(unsigned nsubint, unsigned npol=0, unsigned nchan=0, unsigned nbin=0)
Resize the extension.
Definition DigitiserCounts.C:175
void Append(const DigitiserCounts &src)
Append the counts from another DigitiserCounts to this one.
Definition DigitiserCounts.C:83
void CombineSubints(const unsigned subint, const unsigned start, const unsigned stop)
Combine, by adding, multiple subints into one.
Definition DigitiserCounts.C:141
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0