Panzer  Version of the Day
Panzer_ResponseBase.hpp
Go to the documentation of this file.
1 #ifndef __Panzer_ResponseBase_hpp__
2 #define __Panzer_ResponseBase_hpp__
3 
4 #include <string>
5 
7 
8 namespace panzer {
9 
10 // *** Derive, do not modify this interface ***
11 
18 public:
19 
25  ResponseBase(const std::string & responseName) :
26  responseName_(responseName) {}
27 
28  virtual ~ResponseBase() {}
29 
32  std::string getName() const { return responseName_; }
33 
37  std::string getLookupName() const { return buildLookupName(responseName_); }
38 
42  static std::string buildLookupName(const std::string & responseName)
43  { return "RESPONSE_"+responseName; }
44 
46  virtual void ghostToGlobal(int)
47  { scatterResponse(); }
48 
49  virtual void initializeData()
50  { initializeResponse(); }
51 
53  virtual void scatterResponse() = 0;
54 
55  virtual void initializeResponse() = 0;
56 
57 private:
58 
59  std::string responseName_;
60 
61  // hide these methods
62  ResponseBase();
63  ResponseBase(const ResponseBase &);
64 };
65 
66 }
67 
68 #endif
std::string getLookupName() const
static std::string buildLookupName(const std::string &responseName)
ResponseBase(const std::string &responseName)
virtual void ghostToGlobal(int)
Inherited from GlobalEvaluationData,.
std::string getName() const
virtual void scatterResponse()=0
Prepare the response for access by the user (do global communication)
virtual void initializeResponse()=0