14 template <
typename DataObject>
20 virtual double operator()(
const DataObject &obj)
const {
return 1.0; }
22 std::unique_ptr<Norm>
clone()
const {
23 return std::unique_ptr<Norm>(this->
_clone());
34 return config.supercell().volume();
38 std::unique_ptr<NormPerUnitCell>
clone()
const {
39 return notstd::make_unique<NormPerUnitCell>(*
this);
56 std::unique_ptr<NormPerSpecies>
clone()
const {
57 return notstd::make_unique<NormPerSpecies>(*
this);
virtual Norm * _clone() const
virtual double operator()(const DataObject &obj) const
Default normalization is 1.0.
std::unique_ptr< Norm > clone() const
double operator()(const Configuration &config) const override
Return number of non-Va species in configuration per unitcell.
std::unique_ptr< NormPerSpecies > clone() const
Clone.
NormPerSpecies * _clone() const override
std::unique_ptr< NormPerUnitCell > clone() const
Clone.
NormPerUnitCell * _clone() const override
double operator()(const Configuration &config) const override
Return configuration supercell size.
double n_species(const Configuration &config)
Returns the total number species per unit cell.
ConfigIO::GenericConfigFormatter< jsonParser > config()