Lattice Tester Guide  1.0-9
Software Package For Testing The Uniformity Of Integral Lattices In The Real Space
LatticeTester::ProjectionDependentWeights Class Reference

Projection-dependent weights. More...

#include <latticetester/ProjectionDependentWeights.h>

Inherits LatticeTester::Weights.

Public Member Functions

 ProjectionDependentWeights ()
 Constructs projection-dependent weights. More...
 
virtual ~ProjectionDependentWeights ()
 Destructor. More...
 
 ProjectionDependentWeights (const ProjectionDependentWeights &)
 Copy constructor. More...
 
virtual Weight getWeight (const Coordinates &projection) const
 Returns the weight of the projection specified by projection. More...
 
virtual const WeightsMap & getWeightsForLargestIndex (Coordinates::value_type largestIndex) const
 Returns a map of weights for all projections whose largest index is largestIndex. More...
 
virtual void setWeight (const Coordinates &projection, Weight weight)
 Static factory method; create a ProjectionDependentWeights object by parsing XML data. More...
 
- Public Member Functions inherited from LatticeTester::Weights
virtual ~Weights ()
 Destructor. More...
 
virtual unsigned int interlacingFactor () const
 Returns the interlacing factor of the weights. More...
 

Protected Member Functions

virtual void format (std::ostream &os) const
 Identifies the type of weights, formats them and outputs them on os. More...
 

Protected Attributes

std::vector< WeightsMap > m_weights
 Per-projection weights, regrouped by largest coordinate index. More...
 

Static Protected Attributes

static const WeightsMap m_emptyWeights
 Used only to return an empty map. More...
 

Related Functions

(Note that these are not member functions.)

std::istream & operator>> (std::istream &is, ProjectionDependentWeights &weights)
 

Detailed Description

Projection-dependent weights.

The weight for a given projection can be set with setWeight().

Internally, the weights are regrouped by largest coordinate index in different std::map objects. This is useful for use with CBC.

Constructor & Destructor Documentation

◆ ProjectionDependentWeights() [1/2]

LatticeTester::ProjectionDependentWeights::ProjectionDependentWeights ( )

Constructs projection-dependent weights.

◆ ~ProjectionDependentWeights()

virtual LatticeTester::ProjectionDependentWeights::~ProjectionDependentWeights ( )
inlinevirtual

Destructor.

◆ ProjectionDependentWeights() [2/2]

LatticeTester::ProjectionDependentWeights::ProjectionDependentWeights ( const ProjectionDependentWeights o)

Copy constructor.

Member Function Documentation

◆ format()

void LatticeTester::ProjectionDependentWeights::format ( std::ostream &  os) const
protectedvirtual

Identifies the type of weights, formats them and outputs them on os.

Remarks
Deriving classes should identify themselves in the output.

Implements LatticeTester::Weights.

◆ getWeight()

Weight LatticeTester::ProjectionDependentWeights::getWeight ( const Coordinates projection) const
virtual

Returns the weight of the projection specified by projection.

Implements LatticeTester::Weights.

◆ getWeightsForLargestIndex()

const ProjectionDependentWeights::WeightsMap & LatticeTester::ProjectionDependentWeights::getWeightsForLargestIndex ( Coordinates::value_type  largestIndex) const
virtual

Returns a map of weights for all projections whose largest index is largestIndex.

◆ setWeight()

void LatticeTester::ProjectionDependentWeights::setWeight ( const Coordinates projection,
Weight  weight 
)
virtual

Static factory method; create a ProjectionDependentWeights object by parsing XML data.

Sets the weight of the projection specified by projection.

Friends And Related Function Documentation

◆ operator>>()

std::istream & operator>> ( std::istream &  is,
ProjectionDependentWeights weights 
)
related

Reads formatted projection-dependent weights into the object weights.

The input should be a sequence of projection-to-weight mappings, of the format:

<match1>: <weight1>, <match2>: <weight2>, ...

where <weightn> is the weight (a floating point number) associated to the projection-match <matchn>, and <matchn> is one of:

  • a set of coordinates, as specified in operator>>(std::istream&, LatticeTester::Coordinates&) to explicitly set the weight for the projection that correspond to these coordinates;
  • the string order m to implicitly set the weights of projections of order m;
  • the string default to set the default weight for other projections.
Remarks
Comments can be appended to any line after a # character.
The match-weight pairs can be separated by commas and/or whitespace (including newlines).
The colons (:) can be replaced with => or ->.
See also
operator>>(std::istream&, LatticeTester::Coordinates&)

Member Data Documentation

◆ m_emptyWeights

const ProjectionDependentWeights::WeightsMap LatticeTester::ProjectionDependentWeights::m_emptyWeights
staticprotected

Used only to return an empty map.

◆ m_weights

std::vector<WeightsMap> LatticeTester::ProjectionDependentWeights::m_weights
protected

Per-projection weights, regrouped by largest coordinate index.


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