Algorithms that combine Integration data. More...

#include <Append.h>

Inheritance diagram for Pulsar::Append:
Reference::Able Reference::HeapTracked Pulsar::FrequencyAppend Pulsar::TimeAppend

Public Member Functions

 Append ()
 Default constructor.
virtual void init (Archive *into)
 Initialize an archive for appending.
virtual void check (Archive *into, const Archive *from)
 Throw an exception if there is any reason to not call append.
void append (Archive *into, const Archive *from)
 Copy the data in 'from' to 'into'.
Public Member Functions inherited from Reference::Able
 Able (const Able &)
Ableoperator= (const Able &)
unsigned get_reference_count () const
Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
HeapTrackedoperator= (const HeapTracked &)
bool __is_on_heap () const

Public Attributes

bool must_match
bool ignore_phase

Protected Member Functions

virtual bool stop (Archive *into, const Archive *from)
 Return true if there is a benign reason to stop.
virtual const Archive::Matchget_mixable_policy (const Archive *into)
 Return the policy used to verify that data are mixable.
virtual void combine (Archive *into, Archive *from)=0
 Add the data in 'from' to 'into'.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

bool aligned
bool equal_ephemerides
bool equal_models
bool insert_model

Additional Inherited Members

Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
static void operator delete (void *location, void *ptr)
static void operator delete (void *location)
static size_t get_heap_queue_size ()

Detailed Description

Algorithms that combine Integration data.

Member Function Documentation

◆ append()

◆ check()

void Pulsar::Append::check ( Archive * into,
const Archive * from )
virtual

◆ combine()

virtual void Pulsar::Append::combine ( Archive * into,
Archive * from )
protectedpure virtual

Add the data in 'from' to 'into'.

The combine method should not make copies of the data in 'from'; rather, 'into' should be made to point to the data in 'from'.

By sharing the data in 'from', it can be corrected through the 'from' interface without concern for how the data is incorporated in 'into'.

Implemented in Pulsar::FrequencyAppend, Pulsar::TimeAppend, and TimeAppend.

Referenced by append().

◆ get_mixable_policy()

const Pulsar::Archive::Match * Pulsar::Append::get_mixable_policy ( const Archive * into)
protectedvirtual

Return the policy used to verify that data are mixable.

Reimplemented in Pulsar::FrequencyAppend.

References Pulsar::Archive::get_mixable().

Referenced by check().

◆ init()

virtual void Pulsar::Append::init ( Archive * into)
inlinevirtual

Initialize an archive for appending.

Reimplemented in Pulsar::FrequencyAppend.

◆ stop()

bool Pulsar::Append::stop ( Archive * into,
const Archive * from )
protectedvirtual

Return true if there is a benign reason to stop.

Reimplemented in Pulsar::FrequencyAppend, Pulsar::TimeAppend, and TimeAppend.

References Pulsar::Archive::copy(), and Pulsar::IntegrationManager::get_nsubint().

Referenced by append(), and Pulsar::TimeAppend::stop().


The documentation for this class was generated from the following files:

Generated using doxygen 1.14.0