11 #ifndef __Panzer_STK_ParameterListCallback_hpp__
12 #define __Panzer_STK_ParameterListCallback_hpp__
14 #include "PanzerAdaptersSTK_config.hpp"
15 #ifdef PANZER_HAVE_TEKO
20 #include "Teko_RequestCallback.hpp"
28 namespace panzer_stk {
36 class ParameterListCallback :
public Teko::RequestCallback<Teuchos::RCP<Teuchos::ParameterList> > {
38 ParameterListCallback(
const std::string & coordFieldName,
45 bool handlesRequest(
const Teko::RequestMesg & rm);
47 void preRequest(
const Teko::RequestMesg & rm);
49 const std::vector<double> & getCoordsVector(
unsigned dim)
const
52 return getXCoordsVector();
54 return getYCoordsVector();
56 return getZCoordsVector();
63 const std::vector<double> & getXCoordsVector()
const {
return xcoords_; }
64 const std::vector<double> & getYCoordsVector()
const {
return ycoords_; }
65 const std::vector<double> & getZCoordsVector()
const {
return zcoords_; }
69 {
return arrayToVector_; }
71 void buildCoordinates();
72 void buildArrayToVector();
75 void storeExtraVector(
const Teuchos::RCP<
const std::vector<double> > & extra)
76 { extraVecs_.push_back(extra); }
82 std::string coordFieldName_;
83 std::map<std::string,Teuchos::RCP<const panzer::Intrepid2FieldPattern> > fieldPatterns_;
86 bool coordinatesBuilt_;
88 std::vector<double> xcoords_;
89 std::vector<double> ycoords_;
90 std::vector<double> zcoords_;
93 std::vector<Teuchos::RCP<const std::vector<double> > > extraVecs_;
98 #endif // PANZER_HAVE_TEKO
#define TEUCHOS_ASSERT(assertion_test)