Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mantid::Geometry::BraggScattererInCrystalStructure Class Reference

This class provides an extension of BraggScatterer, suitable for scatterers that are part of a crystal structure. More...

#include <BraggScattererInCrystalStructure.h>

Inheritance diagram for Mantid::Geometry::BraggScattererInCrystalStructure:
Mantid::Geometry::BraggScatterer Mantid::Kernel::PropertyManager Mantid::Kernel::IPropertyManager Mantid::Geometry::IsotropicAtomBraggScatterer

Public Member Functions

 BraggScattererInCrystalStructure ()
 Default constructor. More...
 
UnitCell getCell () const
 Returns the cell which is currently set. More...
 
Kernel::V3D getPosition () const
 Returns the position of the scatterer. More...
 
- Public Member Functions inherited from Mantid::Geometry::BraggScatterer
 BraggScatterer ()
 Default constructor. More...
 
double calculateFSquared (const Kernel::V3D &hkl) const
 Returns |F(hkl)|^2. More...
 
virtual StructureFactor calculateStructureFactor (const Kernel::V3D &hkl) const =0
 
virtual BraggScatterer_sptr clone () const =0
 
void initialize ()
 Initialization method that calls declareProperties() and sets initialized state to true. More...
 
bool isInitialized ()
 Returns whether the instance has been initialized. More...
 
bool isPropertyExposedToComposite (const std::string &propertyName) const
 Checks whether a property with the given name is exposed to BraggScattererComposite. More...
 
bool isPropertyExposedToComposite (Kernel::Property *property) const
 Checks if a property is exposed to BraggScattererComposite or throws std::invalid_argument if a null-pointer is supplied. More...
 
virtual std::string name () const =0
 
- Public Member Functions inherited from Mantid::Kernel::PropertyManager
::Json::Value asJson (bool withDefaultValues=false) const override
 Return the property manager serialized as a json object. More...
 
std::string asString (bool withDefaultValues=false) const override
 Return the property manager serialized as a string. More...
 
void clear () override
 Clears the whole property map. More...
 
void declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="") override
 Add or replace a property in the list of managed properties. More...
 
void declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input)
 Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More...
 
void declareProperty (const std::string &name, const char *value, const unsigned int direction)
 Add a property of string type to the list of managed properties. More...
 
void declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input)
 Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More...
 
template<typename T >
void declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input)
 Add a property to the list of managed properties with no validator. More...
 
template<typename T >
void declareProperty (const std::string &name, T value, const unsigned int direction)
 Add a property of the template type to the list of managed properties. More...
 
template<typename T >
void declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input)
 Add a property of the template type to the list of managed properties. More...
 
void declareProperty (std::unique_ptr< Property > p, const std::string &doc="") override
 Add a property to the list of managed properties. More...
 
virtual void declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0
 Function to declare properties (i.e. store them) More...
 
bool existsProperty (const std::string &name) const override
 Checks whether the named property is already in the list of managed property. More...
 
void filterByProperty (const TimeSeriesProperty< bool > &filter, const std::vector< std::string > &excludedFromFiltering=std::vector< std::string >()) override
 Filter the managed properties by the given boolean property mask. More...
 
void filterByTime (const Types::Core::DateAndTime &start, const Types::Core::DateAndTime &stop) override
 Filter out a run by time. More...
 
std::vector< std::string > getDeclaredPropertyNames () const noexcept override
 Return the list of declared property names. More...
 
PropertygetPointerToProperty (const std::string &name) const override
 Get a property by name. More...
 
const std::vector< Property * > & getProperties () const override
 Get the list of managed properties. More...
 
TypedValue getProperty (const std::string &name) const override
 Get the value of a property. More...
 
std::string getPropertyValue (const std::string &name) const override
 Get the value of a property as a string. More...
 
bool operator!= (const PropertyManager &other) const
 
PropertyManageroperator+= (const PropertyManager &rhs)
 Addition operator. More...
 
PropertyManageroperator= (const PropertyManager &)
 Assignment operator - performs a deep copy. More...
 
bool operator== (const PropertyManager &other) const
 
size_t propertyCount () const override
 Count the number of properties under management. More...
 
 PropertyManager ()
 Default constructor. More...
 
 PropertyManager (const PropertyManager &)
 copy constructor More...
 
void removeProperty (const std::string &name, const bool delproperty=true) override
 removes the property from properties map More...
 
void resetProperties () override
 Reset property values back to initial values (blank or default values) More...
 
void setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override
 Set the ordered list of properties by a json value collection. More...
 
void setProperties (const ::Json::Value &jsonValue, IPropertyManager *targetPropertyManager, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)
 Set the ordered list of properties by a json value collection. More...
 
void setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override
 Set the ordered list of properties by one string of values, separated by semicolons. More...
 
void setProperties (const std::string &propertiesJson, IPropertyManager *targetPropertyManager, const std::unordered_set< std::string > &ignoreProperties, bool createMissing=false)
 Set the ordered list of properties by one string of values, separated by semicolons. More...
 
void setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >()) override
 Sets all the declared properties from a string. More...
 
void setPropertyOrdinal (const int &index, const std::string &value) override
 Set the value of a property by an index N.B. More...
 
void setPropertyValue (const std::string &name, const std::string &value) override
 Set the value of a property by string N.B. More...
 
void setPropertyValueFromJson (const std::string &name, const Json::Value &value) override
 Set the value of a property by Json::Value. More...
 
void splitByTime (std::vector< SplittingInterval > &splitter, std::vector< PropertyManager * > outputs) const override
 Split a run by time (splits the TimeSeriesProperties contained). More...
 
std::unique_ptr< PropertytakeProperty (const size_t index) override
 removes the property from the properties map and returns a pointer to it More...
 
bool validateProperties () const override
 Validates all the properties in the collection. More...
 
virtual ~PropertyManager () override
 Virtual destructor. More...
 
- Public Member Functions inherited from Mantid::Kernel::IPropertyManager
virtual ::Json::Value asJson (bool withDefaultValues=false) const =0
 Return the property manager serialized as a json object. More...
 
virtual std::string asString (bool withDefaultValues=false) const =0
 Return the property manager serialized as a string. More...
 
virtual void declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="")=0
 Function to declare properties (i.e. store them) More...
 
void declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input)
 Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More...
 
void declareProperty (const std::string &name, const char *value, const unsigned int direction)
 Add a property of string type to the list of managed properties. More...
 
void declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input)
 Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More...
 
template<typename T >
void declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input)
 Add a property to the list of managed properties with no validator. More...
 
template<typename T >
void declareProperty (const std::string &name, T value, const unsigned int direction)
 Add a property of the template type to the list of managed properties. More...
 
template<typename T >
void declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input)
 Add a property of the template type to the list of managed properties. More...
 
virtual void declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0
 Function to declare properties (i.e. store them) More...
 
virtual bool existsProperty (const std::string &name) const =0
 Checks whether the named property is already in the list of managed property. More...
 
virtual void filterByProperty (const TimeSeriesProperty< bool > &, const std::vector< std::string > &)=0
 
virtual void filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &)=0
 
virtual std::vector< std::string > getDeclaredPropertyNames () const noexcept=0
 Get the list of managed property names. More...
 
virtual PropertygetPointerToProperty (const std::string &name) const =0
 Get a pointer to property by name. More...
 
virtual const std::vector< Property * > & getProperties () const =0
 Get the list of managed properties. More...
 
std::vector< Property * > getPropertiesInGroup (const std::string &group) const
 Get the list of managed properties in a given group. More...
 
virtual TypedValue getProperty (const std::string &name) const =0
 Get the value of a property. More...
 
virtual std::string getPropertyValue (const std::string &name) const =0
 Get the value of a property as a string. More...
 
virtual size_t propertyCount () const =0
 Returns the number of properties under management. More...
 
virtual void removeProperty (const std::string &name, const bool delproperty=true)=0
 Removes the property from management. More...
 
virtual void resetProperties ()=0
 
virtual void setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0
 Sets all the properties from a json object. More...
 
virtual void setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0
 Sets all properties from a string. More...
 
virtual void setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >())=0
 Sets all the declared properties from a string. More...
 
IPropertyManagersetProperty (const std::string &name, const char *value)
 Specialised version of setProperty template method to handle const char *. More...
 
IPropertyManagersetProperty (const std::string &name, const std::string &value)
 Specialised version of setProperty template method to handle std::string. More...
 
template<typename T >
IPropertyManagersetProperty (const std::string &name, const T &value)
 Templated method to set the value of a PropertyWithValue. More...
 
template<typename T >
IPropertyManagersetProperty (const std::string &name, std::unique_ptr< T > value)
 Templated method to set the value of a PropertyWithValue from a std::unique_ptr. More...
 
void setPropertyGroup (const std::string &name, const std::string &group)
 Set the group for a given property. More...
 
virtual void setPropertyOrdinal (const int &index, const std::string &value)=0
 Set the value of a property by an index. More...
 
void setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings > settings)
 
virtual void setPropertyValue (const std::string &name, const std::string &value)=0
 Sets property value from a string. More...
 
virtual void setPropertyValueFromJson (const std::string &name, const Json::Value &value)=0
 Sets property value from a Json::Value. More...
 
virtual void splitByTime (std::vector< SplittingInterval > &, std::vector< PropertyManager * >) const =0
 
virtual std::unique_ptr< PropertytakeProperty (const size_t index)=0
 Removes the property from management and returns a pointer to it. More...
 
void updatePropertyValues (const IPropertyManager &other)
 Update values of the existing properties. More...
 
virtual bool validateProperties () const =0
 Validates all the properties in the collection. More...
 
virtual ~IPropertyManager ()=default
 

Protected Member Functions

void afterPropertySet (const std::string &propertyName) override
 Additional property processing. More...
 
virtual void afterScattererPropertySet (const std::string &)
 This method should be re-implemented by subclasses for additional parameter processing. More...
 
void declareProperties () override
 Declares basic properties, should not be overridden by subclasses, use declareScattererProperties instead. More...
 
virtual void declareScattererProperties ()
 This method should be implemented by subclasses for declaring additional properties. More...
 
Kernel::V3D getPositionFromString (const std::string &positionString) const
 
virtual void setCell (const UnitCell &cell)
 Assigns a unit cell, which may be required for certain calculations. More...
 
virtual void setPosition (const Kernel::V3D &position)
 Sets the position of the scatterer to the supplied coordinates - vector is wrapped to [0, 1). More...
 
- Protected Member Functions inherited from Mantid::Geometry::BraggScatterer
void afterPropertySet (const std::string &) override
 Base implementation does nothing, can be re-implemented by subclasses. More...
 
virtual void declareProperties ()
 Base implementation does nothing - for implementing classes only. More...
 
void exposePropertyToComposite (const std::string &propertyName)
 Exposes the property with the supplied name to BraggScattererComposite. More...
 
const std::string & getPropagatingGroupName () const
 Returns the group name that is used to mark properties that are propagated. More...
 
void unexposePropertyFromComposite (const std::string &propertyName)
 Removes exposure to composite for specified property. More...
 
- Protected Member Functions inherited from Mantid::Kernel::PropertyManager
PropertygetPointerToPropertyOrdinal (const int &index) const override
 Get a property by an index. More...
 
PropertygetPointerToPropertyOrNull (const std::string &name) const
 Get a property by name. More...
 
- Protected Member Functions inherited from Mantid::Kernel::IPropertyManager
virtual void afterPropertySet (const std::string &)
 Override this method to perform a custom action right after a property was set. More...
 
virtual void clear ()=0
 Clears all properties under management. More...
 
virtual PropertygetPointerToPropertyOrdinal (const int &index) const =0
 Get a property by an index. More...
 
template<typename T >
getValue (const std::string &name) const
 Templated method to get the value of a property. More...
 
template<>
MANTID_KERNEL_DLL PropertyManager_sptr getValue (const std::string &name) const
 
template<>
MANTID_KERNEL_DLL PropertyManager_const_sptr getValue (const std::string &name) const
 

Protected Attributes

UnitCell m_cell
 
Kernel::V3D m_position
 

Additional Inherited Members

- Static Public Member Functions inherited from Mantid::Kernel::PropertyManager
static std::string getInvalidValuesFilterLogName (const std::string &logName)
 Gets the correct log name for the matching invalid values log for a given log name. More...
 
static std::string getLogNameFromInvalidValuesFilter (const std::string &logName)
 
static bool isAnInvalidValuesFilterLog (const std::string &logName)
 
- Static Public Attributes inherited from Mantid::Kernel::PropertyManager
static const std::string INVALID_VALUES_SUFFIX = "_invalid_values"
 

Detailed Description

This class provides an extension of BraggScatterer, suitable for scatterers that are part of a crystal structure.

Information about the unit cell can be set.

The unit cell is marked as exposed to BraggScattererComposite, so all members of one composite will have the same unit cell.

Author
Michael Wedel, Paul Scherrer Institut - SINQ
Date
04/11/2014

Definition at line 31 of file BraggScattererInCrystalStructure.h.

Constructor & Destructor Documentation

◆ BraggScattererInCrystalStructure()

Mantid::Geometry::BraggScattererInCrystalStructure::BraggScattererInCrystalStructure ( )

Default constructor.

Definition at line 32 of file BraggScattererInCrystalStructure.cpp.

Member Function Documentation

◆ afterPropertySet()

void Mantid::Geometry::BraggScattererInCrystalStructure::afterPropertySet ( const std::string &  propertyName)
overrideprotectedvirtual

Additional property processing.

Takes care of handling new property values.

Please note that derived classes should not re-implement this method, as the processing for the base properties is absolutely necessary. Instead, all deriving classes should override the method afterScattererPropertySet, which is called from this method.

Reimplemented from Mantid::Geometry::BraggScatterer.

Definition at line 89 of file BraggScattererInCrystalStructure.cpp.

References afterScattererPropertySet(), getPositionFromString(), Mantid::Kernel::PropertyManager::getProperty(), position, setCell(), setPosition, and Mantid::Geometry::strToUnitCell().

◆ afterScattererPropertySet()

virtual void Mantid::Geometry::BraggScattererInCrystalStructure::afterScattererPropertySet ( const std::string &  )
inlineprotectedvirtual

This method should be re-implemented by subclasses for additional parameter processing.

Reimplemented in Mantid::Geometry::IsotropicAtomBraggScatterer.

Definition at line 43 of file BraggScattererInCrystalStructure.h.

Referenced by afterPropertySet().

◆ declareProperties()

void Mantid::Geometry::BraggScattererInCrystalStructure::declareProperties ( )
overrideprotectedvirtual

Declares basic properties, should not be overridden by subclasses, use declareScattererProperties instead.

Reimplemented from Mantid::Geometry::BraggScatterer.

Definition at line 52 of file BraggScattererInCrystalStructure.cpp.

References Mantid::Kernel::PropertyManager::declareProperty(), declareScattererProperties(), and Mantid::Geometry::BraggScatterer::exposePropertyToComposite().

◆ declareScattererProperties()

virtual void Mantid::Geometry::BraggScattererInCrystalStructure::declareScattererProperties ( )
inlineprotectedvirtual

This method should be implemented by subclasses for declaring additional properties.

Reimplemented in Mantid::Geometry::IsotropicAtomBraggScatterer.

Definition at line 47 of file BraggScattererInCrystalStructure.h.

Referenced by declareProperties().

◆ getCell()

UnitCell Mantid::Geometry::BraggScattererInCrystalStructure::getCell ( ) const

Returns the cell which is currently set.

Definition at line 45 of file BraggScattererInCrystalStructure.cpp.

References m_cell.

Referenced by Mantid::Geometry::IsotropicAtomBraggScatterer::getDebyeWallerFactor().

◆ getPosition()

Kernel::V3D Mantid::Geometry::BraggScattererInCrystalStructure::getPosition ( ) const

Returns the position of the scatterer.

Definition at line 42 of file BraggScattererInCrystalStructure.cpp.

References m_position.

◆ getPositionFromString()

V3D Mantid::Geometry::BraggScattererInCrystalStructure::getPositionFromString ( const std::string &  positionString) const
protected

◆ setCell()

void Mantid::Geometry::BraggScattererInCrystalStructure::setCell ( const UnitCell cell)
protectedvirtual

Assigns a unit cell, which may be required for certain calculations.

Definition at line 48 of file BraggScattererInCrystalStructure.cpp.

References m_cell.

Referenced by afterPropertySet().

◆ setPosition()

void Mantid::Geometry::BraggScattererInCrystalStructure::setPosition ( const Kernel::V3D position)
protectedvirtual

Sets the position of the scatterer to the supplied coordinates - vector is wrapped to [0, 1).

Definition at line 37 of file BraggScattererInCrystalStructure.cpp.

References Mantid::Geometry::getWrappedVector(), m_position, and position.

Member Data Documentation

◆ m_cell

UnitCell Mantid::Geometry::BraggScattererInCrystalStructure::m_cell
protected

Definition at line 57 of file BraggScattererInCrystalStructure.h.

Referenced by getCell(), and setCell().

◆ m_position

Kernel::V3D Mantid::Geometry::BraggScattererInCrystalStructure::m_position
protected

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