File parameters.hpp

This file contains the parameters class which contains the settings and values used to adjust the program control flow to the user input files.

Author

Benjamin Lindner ben@benlabs.net

Version

See VERSION in CMakeLists.txt

Copyright

GNU General Public License

class SampleStructureParameters
#include <parameters.hpp>

Section which defines the structure

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string file
std::string filepath
std::string format

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleSelectionParameters
#include <parameters.hpp>

Section which defines a generic selection (used as parent by specific selections)

Subclassed by SampleFileSelectionParameters, SampleIndexSelectionParameters, SampleLexicalSelectionParameters, SampleRangeSelectionParameters

Public Functions

inline SampleSelectionParameters()
inline SampleSelectionParameters(std::string type)
inline std::string type()
inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Private Members

std::string type_

Friends

friend class boost::serialization::access
class SampleIndexSelectionParameters : public SampleSelectionParameters
#include <parameters.hpp>

Section which defines a selection based on individual indexes

Public Functions

inline SampleIndexSelectionParameters()
inline SampleIndexSelectionParameters(std::vector<size_t> ids)
inline std::string write_xml(int pad = 0)

Public Members

std::vector<size_t> ids_

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleRangeSelectionParameters : public SampleSelectionParameters
#include <parameters.hpp>

Section which defines a selection based on a given range

Public Functions

inline SampleRangeSelectionParameters()
inline SampleRangeSelectionParameters(size_t from, size_t to)
inline std::string write_xml(int pad = 0)

Public Members

size_t from_
size_t to_

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleLexicalSelectionParameters : public SampleSelectionParameters
#include <parameters.hpp>

Section which defines a selection based on a lexical pattern (regular expression matching atom labels)

Public Functions

inline SampleLexicalSelectionParameters()
inline SampleLexicalSelectionParameters(std::string expression)
inline std::string write_xml(int pad = 0)

Public Members

std::string expression_

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleFileSelectionParameters : public SampleSelectionParameters
#include <parameters.hpp>

Section which defines a file based selection

Public Functions

inline SampleFileSelectionParameters()
inline SampleFileSelectionParameters(std::string file, std::string format, std::string selector, std::string expression)
inline std::string write_xml(int pad = 0)

Public Members

std::string file_
std::string filepath_
std::string format_
std::string selector_
std::string expression_

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleFramesetParameters
#include <parameters.hpp>

Section which defines a single trajectory file entry

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t first
size_t last
size_t clones
bool last_set
size_t stride
std::string file
std::string filepath
std::string format
std::string index
std::string indexpath
bool index_default

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleFramesetsParameters : public std::vector<SampleFramesetParameters>
#include <parameters.hpp>

Section which lists the used trajectory files

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleMotionReferenceParameters
#include <parameters.hpp>

Section which stores reference information which may be required during some alignment procedures

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type
std::string selection
std::string file
std::string filepath
std::string format
size_t frame

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleMotionParameters
#include <parameters.hpp>

Section which defines artificial motions

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type
double displace
double frequency
double radius
std::string selection
unsigned long seed
long sampling
CartesianCoor3D direction
SampleMotionReferenceParameters reference

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleAlignmentReferenceParameters
#include <parameters.hpp>

Section which stores reference information which may be required during some alignment procedures

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type
std::string selection
std::string file
std::string filepath
std::string format
size_t frame

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleAlignmentParameters
#include <parameters.hpp>

Section which stores alignment information, which is applied during the staging of the trajectory data

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

SampleAlignmentReferenceParameters reference
std::string type
std::string selection
std::string order

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class SampleParameters
#include <parameters.hpp>

Section which stores sample specific parameters

Public Functions

~SampleParameters()
inline std::string write_xml(int pad = 0)

Public Members

SampleStructureParameters structure
std::map<std::string, SampleSelectionParameters*> selections
SampleFramesetsParameters framesets
std::vector<SampleMotionParameters> motions
std::vector<SampleAlignmentParameters> alignments

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringBackgroundFactor
#include <parameters.hpp>

Section which stores selection based scaling factors for background correction

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string selection
double value

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Serialization allows sample transmission via MPI.

Friends

friend class boost::serialization::access
class ScatteringBackgroundKappaParameters
#include <parameters.hpp>

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string selection
double value

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringBackgroundCutBoxParameters
#include <parameters.hpp>

Section added by arnab majumdar, hereon new option: under back ground cut - box - sld (double)

  • xlength (double)

  • ylength (double)

  • zlength (double)

  • midpoint (coor_3D) - x

    • y

    • z

Public Functions

inline ScatteringBackgroundCutBoxParameters()
inline std::string write_xml(int pad = 0)

Public Members

ImagNum sld
double xlength
double ylength
double zlength
CartesianCoor3D midpoint

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringBackgroundCutParameters
#include <parameters.hpp>

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringBackgroundParameters
#include <parameters.hpp>

new feature added by Arnab Majumdar, hereon ends here. There are other minor changes in the code. Section which stores background correction parameters

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageOrientationVectorsParameters : public std::vector<CartesianCoor3D>
#include <parameters.hpp>

Section which is used when vector based orientational averaging is performed

Public Functions

void create()
inline std::string write_xml(int pad = 0)

Public Members

std::string type
std::string algorithm
std::string file
std::string filepath
size_t resolution
unsigned long seed

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageOrientationMultipoleMomentsParameters : public std::vector<std::pair<long, long>>
#include <parameters.hpp>

Section which is used to store the used multipole identifiers when multipole based orientational averaging is performed

Public Functions

void create()
inline std::string write_xml(int pad = 0)

Public Members

std::string type
long resolution
std::string file
std::string filepath

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageOrientationMultipoleParameters
#include <parameters.hpp>

Section which is used when multipole based orientational averaging is performed

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageOrientationExactParameters
#include <parameters.hpp>

Section which is used when exact orientational averaging is performed

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageOrientationParameters
#include <parameters.hpp>

Section which defines orientational averaging procedures

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringAverageParameters
#include <parameters.hpp>

Section which defines averaging procedures

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

ScatteringAverageOrientationParameters orientation

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringDspParameters
#include <parameters.hpp>

Section which defines further processing of the scattering signal, e.g. autocorrelation

Public Types

enum class Type

Values:

enumerator Autocorrelate
enumerator Square
enumerator Plain
enum class Method

Values:

enumerator FFTW
enumerator Direct

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type
std::string method

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringVectorsScanParameters
#include <parameters.hpp>

Section which describes a scan entry used to construct the scattering vectors

Public Functions

inline ScatteringVectorsScanParameters()
inline std::string write_xml(int pad = 0)

Public Members

double from
double to
size_t points
double exponent
CartesianCoor3D basevector

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringVectorsParameters : public std::vector<CartesianCoor3D>
#include <parameters.hpp>

Section which defines the scattering vectors

Public Functions

void create_from_scans()
inline std::string write_xml(int pad = 0)

Public Members

std::vector<ScatteringVectorsScanParameters> scans

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringSignalParameters
#include <parameters.hpp>

Section which stores parameters used during the writing of the signal file

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string file
std::string filepath
bool fqt
bool fq
bool fq0
bool fq2

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class ScatteringParameters
#include <parameters.hpp>

Section which stores parameters used during the scattering calculation

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class StagerParameters
#include <parameters.hpp>

Section which stores parameters used during data staging

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool dump
std::string file
std::string filepath
std::string format
std::string target
std::string mode

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsServicesSignalMemoryParameters
#include <parameters.hpp>

Section which stores parameters affecting the memory limitations of the file writer service

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t server
size_t client

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsServicesSignalTimesParameters
#include <parameters.hpp>

Section which stores parameters affecting the timing of the file writer service

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t serverflush
size_t clientflush

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsServicesSignalParameters
#include <parameters.hpp>

Section which stores parameters affecting the file writer service, which writes results to the signal file

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsServicesMonitorParameters
#include <parameters.hpp>

Section which stores parameters affecting the monitoring service, which reports progress to the console

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t delay
size_t sampling

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsServicesParameters
#include <parameters.hpp>

Section which stores parameters affecting the services

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsComputationMemoryParameters
#include <parameters.hpp>

Section which stores memory limits during the computation

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t result_buffer
size_t alignpad_buffer
size_t exchange_buffer
size_t signal_buffer
size_t scale

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsComputationParameters
#include <parameters.hpp>

Section which stores parameters used during the computation

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t threads
size_t processes
size_t cores
LimitsComputationMemoryParameters memory

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsDecompositionPartitionsParameters
#include <parameters.hpp>

Section which stores parameters determining the computational partition size

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool automatic
size_t size

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsDecompositionParameters
#include <parameters.hpp>

Section which stores parameters used for partitioning the computation among the available compute nodes

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

double utilization
LimitsDecompositionPartitionsParameters partitions

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsSignalParameters
#include <parameters.hpp>

Section which stores parameters used during the writing of the signal output file

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t chunksize

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsStageMemoryParameters
#include <parameters.hpp>

Section which stores memory limits during the data staging process.

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

size_t data
size_t buffer

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsStageParameters
#include <parameters.hpp>

Section which stores limits regarding the data staging process.

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

LimitsStageMemoryParameters memory

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class LimitsParameters
#include <parameters.hpp>

Section which stores computational limitations and performance characteristics.

Public Functions

inline std::string write_xml(int pad = 0)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DebugMonitorParameters
#include <parameters.hpp>

Section which stores parameters influencing the progress monitoring

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool update

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DebugPrintParameters
#include <parameters.hpp>

Section which stores switches for dumping information to console output.

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool orientations

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DebugIowriteParameters
#include <parameters.hpp>

Section which stores IO write specific debug parameters. Used to tune the frequency by which the results are written to the signal file. Can also be used to avoid writing to the signal file.

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool write
bool buffer

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DebugParameters
#include <parameters.hpp>

Section which stores debug parameters

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

bool timer
bool barriers
DebugIowriteParameters iowrite
DebugPrintParameters print
DebugMonitorParameters monitor

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DatabaseParameters
#include <parameters.hpp>

Section which stores a reference to the used database

Public Functions

inline std::string write_xml(int pad = 0)

Public Members

std::string type
std::string file
std::string filepath
std::string format

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access