36 #define impl_model_factory(MATRIX, SYMMGROUP) \
37 template boost::shared_ptr<model_impl<MATRIX, SYMMGROUP> > \
38 model_factory<MATRIX,SYMMGROUP>(Lattice const&, BaseParameters &);
41 template <
class Matrix,
class SymmGroup>
42 boost::shared_ptr<model_impl<Matrix, SymmGroup> >
45 typedef boost::shared_ptr<model_impl<Matrix, SymmGroup> > impl_ptr;
46 if (parms[
"model_library"] ==
"alps") {
47 if (parms[
"lattice_library"] !=
"alps")
48 throw std::runtime_error(
"ALPS models require ALPS lattice.");
50 }
else if (parms[
"model_library"] ==
"coded") {
53 throw std::runtime_error(
"Don't know this model_library!");
boost::shared_ptr< model_impl< Matrix, SymmGroup > > model_factory(Lattice const &lattice, BaseParameters &parms)
model factory
static boost::shared_ptr< model_impl< Matrix, SymmGroup > > parse(Lattice const &, BaseParameters &)