Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef MOR_REDUCEDBASISREPOSITORY_HPP
00007 #define MOR_REDUCEDBASISREPOSITORY_HPP
00008
00009 #include "MOR_ReducedBasisFactory.hpp"
00010
00011 #include "Epetra_MultiVector.h"
00012 #include "Epetra_Vector.h"
00013
00014 #include "Teuchos_ParameterList.hpp"
00015 #include "Teuchos_RCP.hpp"
00016
00017 #include <string>
00018 #include <map>
00019
00020 namespace MOR {
00021
00022 class ReducedBasisRepository {
00023 public:
00024 explicit ReducedBasisRepository(const Teuchos::RCP<ReducedBasisFactory> &factory);
00025
00026 Teuchos::RCP<const Epetra_Vector> getOrigin(const Teuchos::RCP<Teuchos::ParameterList> ¶ms);
00027 Teuchos::RCP<const Epetra_MultiVector> getBasis(const Teuchos::RCP<Teuchos::ParameterList> ¶ms);
00028
00029 private:
00030 Teuchos::RCP<ReducedBasisFactory> factory_;
00031
00032 typedef std::map<std::string, ReducedBasisElements> InstanceMap;
00033 InstanceMap instances_;
00034
00035 ReducedBasisElements getInstance(const Teuchos::RCP<Teuchos::ParameterList> ¶ms);
00036 };
00037
00038 }
00039
00040 #endif
00041
00042