/* * VMGDataMap.hpp * * Created on: Aug 8, 2012 * Author: heber */ #ifndef VMGDATAMAP_HPP_ #define VMGDATAMAP_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include #include "Fragmentation/Summation/Containers/VMGDataFused.hpp" class SamplingGrid; /** This boost::fusion map defines key-value or rather key-type pairs with * which we associate all sampled_grid data members in VMGData and their type. * * This lets us resolves any ambiguitites of types in VMGData, e.g. * to know vector is forces or energy_eigenvalues. * */ typedef boost::fusion::map< boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair > VMGDataMap_t; typedef boost::mpl::list< VMGDataFused::sampled_potential, VMGDataFused::both_sampled_potential, VMGDataFused::nuclei_long, VMGDataFused::electron_long > VMGDataVector_t; /** This boost::fusion map defines key-value or rather key-type pairs with * which we associate all sampled_grid data members in VMGData and their type. * * This lets us resolves any ambiguitites of types in VMGData, e.g. * to know vector is forces or energy_eigenvalues. * */ typedef boost::fusion::map< boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair, boost::fusion::pair > VMGDataLongRangeMap_t; typedef boost::mpl::list< VMGDataFused::electron_longrange, VMGDataFused::electron_shortrange, VMGDataFused::mixed_longrange, VMGDataFused::mixed_shortrange, VMGDataFused::nuclei_longrange, VMGDataFused::nuclei_shortrange, VMGDataFused::total_longrange, VMGDataFused::total_shortrange > VMGDataLongRangeVector_t; #endif /* VMGDATAMAP_HPP_ */