Manager_Base.hh 1.59 KB
Newer Older
Hamilton, Steven P's avatar
Hamilton, Steven P committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//----------------------------------*-C++-*----------------------------------//
/*!
 * \file   mc_driver/Manager_Base.hh
 * \author Steven Hamilton
 * \date   Wed Nov 25 11:20:35 2015
 * \brief  Manager_Base class definition.
 * \note   Copyright (C) 2015 Oak Ridge National Laboratory, UT-Battelle, LLC.
 */
//---------------------------------------------------------------------------//

#ifndef mc_driver_Manager_Base_hh
#define mc_driver_Manager_Base_hh

#include "Teuchos_RCP.hpp"
#include "Teuchos_ParameterList.hpp"

namespace mc
{

//===========================================================================//
/*!
 * \class Manager_Base
 * \brief Base class for templated managers
 */
//===========================================================================//

class Manager_Base
{
  public:

      typedef Teuchos::RCP<Teuchos::ParameterList> RCP_ParameterList;

      // Constructor
      Manager_Base(){};

      // Virtual Destructor
      virtual ~Manager_Base(){};

      // Setup the problem.
      virtual void setup(RCP_ParameterList master) = 0;

      // Solve the problem.
      virtual void solve() = 0;

45
46
47
48
49
50
      // Check solution for correctness
      virtual void check_solution(
          double      k_ref,
          double      k_std_ref,
          std::string flux_file) = 0;

Hamilton, Steven P's avatar
Hamilton, Steven P committed
51
52
53
54
55
56
57
58
59
60
61
      // Output data.
      virtual void output() = 0;
};

} // end namespace mc

#endif // mc_driver_Manager_Base_hh

//---------------------------------------------------------------------------//
//                 end of Manager_Base.hh
//---------------------------------------------------------------------------//