csdsnsolverfp.h 1.53 KB
Newer Older
jonas.kusch's avatar
jonas.kusch committed
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef CSDSNSOLVERFP_H
#define CSDSNSOLVERFP_H

#include "solvers/snsolver.h"

class Physics;

class CSDSNSolverFP : public SNSolver
{
  private:
    std::vector<double> _dose; /*! @brief: TODO */

    // Physics acess
14
    Vector _energies; /*! @brief: energy levels for CSD, length = _nEnergies */
jonas.kusch's avatar
jonas.kusch committed
15
16
17
18
19
    Vector _angle;    /*! @brief: angles for SN */

    std::vector<Matrix> _sigmaSE; /*!  @brief scattering cross section for all energies*/
    Vector _sigmaTE;              /*!  @brief total cross section for all energies*/

jonas.kusch's avatar
jonas.kusch committed
20
    Matrix _L;  /*!  @brief Laplace Beltrami Matrix */
jonas.kusch's avatar
jonas.kusch committed
21
22
    Matrix _IL; /*!  @brief Laplace Beltrami Matrix */

23
    double _alpha; /*!  @brief  Coefficient of GFP operators (see Olbrant 2010, eq. (8)*/
24
    double _beta;  /*!  @brief  Coefficient of GFP operators (see Olbrant 2010, eq. (8)*/
jonas.kusch's avatar
jonas.kusch committed
25

26
    Matrix _xi; /*!  @brief matrix of transport coefficients */
jonas.kusch's avatar
jonas.kusch committed
27

28
    bool _RT; /*!  @brief radiotherapy application (on/off), if true use crosssections + stopping powers from database  */
jonas.kusch's avatar
jonas.kusch committed
29

30
31
    double _energyMin; /*!  @brief minimal energy in energy grid*/
    double _energyMax; /*!  @brief maximal energy in energy grid*/
jonas.kusch's avatar
jonas.kusch committed
32

jonas.kusch's avatar
jonas.kusch committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  public:
    /**
     * @brief CSDSNSolverFP constructor
     * @param settings stores all needed information
     */
    CSDSNSolverFP( Config* settings );
    /**
     * @brief Solve functions runs main time loop
     */
    virtual void Solve();
    /**
     * @brief Output solution to VTK file
     */
    virtual void Save() const;
    virtual void Save( int currEnergy ) const;
};

#endif    // CSDSNSOLVERFP_H