VariableTransformationManager.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2019 - 2022 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9#ifndef __Pulsar_VariableTransformationManager_h
10#define __Pulsar_VariableTransformationManager_h
11
12#include "Pulsar/Archive.h"
13#include "MEAL/Variable.h"
14#include "MEAL/Complex2.h"
15
16namespace Pulsar {
17
20 {
21
22 protected:
23
25 unsigned subint;
26 unsigned chan;
27
28 mutable std::string description;
29 mutable bool built;
30
31 public:
32
35
36 typedef MEAL::Variable<MEAL::Complex2> Transformation;
37
39 virtual void set_archive (const Archive* _archive);
40
42 virtual void set_subint (unsigned _subint);
43
45 virtual void set_chan (unsigned _chan);
46
48 virtual void update ();
49
51 virtual void set_nchan (unsigned nchan) = 0;
52
54 virtual Transformation* get_transformation (unsigned ichan) = 0;
55
58
60 virtual std::string get_description () const { return description; }
61
63 virtual bool required () const { return true; }
64 };
65}
66
67#endif
The primary interface to pulsar observational data.
Definition Archive.h:46
virtual MEAL::Argument::Value * new_value()=0
Return a newly constructed Argument::Value for the current archive / subint / chan.
virtual std::string get_description() const
Get the description of the transformation.
Definition VariableTransformationManager.h:60
virtual void set_archive(const Archive *_archive)
Set the Archive for which a tranformation will be computed.
Definition VariableTransformationManager.C:24
virtual void set_subint(unsigned _subint)
Set the sub-integration for which a tranformation will be computed.
Definition VariableTransformationManager.C:33
virtual Transformation * get_transformation(unsigned ichan)=0
Return the Transformation for the specified channel.
virtual void set_nchan(unsigned nchan)=0
Set the number of frequency channels with a unique Transformation.
VariableTransformationManager()
Default constructor.
Definition VariableTransformationManager.C:16
virtual void update()
Update the tranformation for the current archive / subint / chan.
Definition VariableTransformationManager.C:50
virtual void set_chan(unsigned _chan)
Set the frequency channel for which a tranformation will be computed.
Definition VariableTransformationManager.C:42
virtual bool required() const
Return true if the transformation is required.
Definition VariableTransformationManager.h:63
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0