FrequencyAppend.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2007 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/General/Pulsar/FrequencyAppend.h
10
11#ifndef _Pulsar_FrequencyAppend_H
12#define _Pulsar_FrequencyAppend_H
13
14#include "Pulsar/Append.h"
15#include "Pulsar/Config.h"
16#include "Functor.h"
17
18namespace Pulsar {
19
20 class Integration;
21
23 class FrequencyAppend : public Append
24 {
25
26 public:
27
29 void init (Archive* into);
30
32 virtual void check (Archive* into, const Archive* from);
33
34 typedef Functor< void (Integration*) > Weight;
35
38
41
42 protected:
43
45 virtual bool stop (Archive* into, const Archive* from);
46
48 virtual void combine (Archive* into, Archive* from);
49
51 virtual void combine (Integration* into, Integration* from);
52
53 /* internal */
54 bool check_phase;
55
57 virtual const Archive::Match* get_mixable_policy (const Archive* into);
58
59 void generate_new_predictor( Archive* into, Archive* from );
60
61 };
62
63}
64
65#endif
66
Append()
Default constructor.
Definition Append.C:34
Policy used to determine if two archives match.
Definition ArchiveMatch.h:21
The primary interface to pulsar observational data.
Definition Archive.h:46
Algorithms that combine Integration data.
Definition FrequencyAppend.h:24
virtual void combine(Archive *into, Archive *from)
Add the data in 'from' to 'into'.
Definition FrequencyAppend.C:96
virtual const Archive::Match * get_mixable_policy(const Archive *into)
Return the policy used to verify that data are mixable.
Definition FrequencyAppend.C:63
virtual void check(Archive *into, const Archive *from)
Throw an exception if there is a reason to not append.
Definition FrequencyAppend.C:86
static Option< Weight > weight_strategy
The policy used to weight each profile during combine.
Definition FrequencyAppend.h:37
static Option< bool > force_new_predictor
Should a new predictor be always generated?
Definition FrequencyAppend.h:40
virtual bool stop(Archive *into, const Archive *from)
Return true if there is a benign reason to stop.
Definition FrequencyAppend.C:73
void generate_new_predictor(Archive *into, Archive *from)
Generate a new predictor spanning the time and frequency range of both into and from.
Definition FrequencyAppend.C:209
void init(Archive *into)
Initialize an archive for appending.
Definition FrequencyAppend.C:172
Array of Profiles integrated over the same time interval.
Definition Integration.h:37
Configuration option.
Definition Config.h:69
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0