43#ifndef __Panzer_ResponseMESupportBuilderBase_hpp__
44#define __Panzer_ResponseMESupportBuilderBase_hpp__
46#include "Teuchos_RCP.hpp"
48#include "PanzerDiscFE_config.hpp"
88#ifdef Panzer_BUILD_HESSIAN_SUPPORT
99 inline Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase>
build()
const
100 {
return Teuchos::null; }
104inline Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase> ResponseMESupportBuilderBase::build<panzer::Traits::Residual>()
const
105{
return buildValueFactory(); }
108inline Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase> ResponseMESupportBuilderBase::build<panzer::Traits::Jacobian>()
const
109{
return buildDerivativeFactory(); }
112inline Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase> ResponseMESupportBuilderBase::build<panzer::Traits::Tangent>()
const
113{
return buildTangentFactory(); }
115#ifdef Panzer_BUILD_HESSIAN_SUPPORT
117inline Teuchos::RCP<panzer::ResponseEvaluatorFactoryBase> ResponseMESupportBuilderBase::build<panzer::Traits::Hessian>()
const
118{
return buildHessianFactory(); }
virtual ~ResponseMESupportBuilderBase()
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildTangentFactory() const
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildHessianFactory() const =0
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildDerivativeFactory() const =0
virtual void setDerivativeInformation(const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &linearObjFactory)=0
virtual Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > buildValueFactory() const =0
Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > build() const