MURE
Loading...
Searching...
No Matches
SerpentSource.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _SerpentSource_
20#define _SerpentSource_
26#include <vector>
27#include <string>
28#include <iosfwd>
29
30#include "MCSource.hxx"
31#include "Spectrum.hxx"
32#include "Cell.hxx"
33#include "Shape.hxx"
34#include "TReference.hxx"
35
36using namespace std;
37
38
39class MathTube;
40class Shape;
41
42typedef Reference_ptr < Shape > Shape_ptr;
43
45
53class SerpentSource : public MCSource
54{
55 public:
57
60 SerpentSource(double NPS = 10000);
62 MCSource *Clone() override
63 {
64 return new SerpentSource(*this);
65 }
66 ~SerpentSource() override;
67
69
75 void UsePreviousRunSource(string FirstSource = "") override;
76 void SetSurface(Shape_ptr TheShape) override;
77 void SetCell(Cell *TheCell)
78 {
79 fCellNumber = TheCell -> GetNumber();
80 }
81
88 string Print() override;
94 void SaveSourceInFile(string FileToSaveSource);
95
96 protected:
100};
101#endif
Header file for Cell class.
Header file for Monte-Carlo Source abstract class.
Reference_ptr< Shape > Shape_ptr
Definition SerpentSource.hxx:42
Header file for Shape class and Shape_ptr type.
Header file for Spectrum class.
Header file for TReference class and Reference_ptr template.
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
Define a Monte-Carlo Source.
Definition MCSource.hxx:53
A MathTube is a finite cylinder with an optional hole inside (like a pipe).
Definition MathTube.hxx:50
Define a Serpent Source.
Definition SerpentSource.hxx:54
string Print() override
Print the Serpent source (into Serpent input file).
Definition SerpentSource.cxx:57
void SaveSourceInFile(string FileToSaveSource)
Definition SerpentSource.cxx:112
void SetSurface(Shape_ptr TheShape) override
set the Surface number for a surface source.
Definition SerpentSource.cxx:132
string fFileToSaveSource
Name of the file in which the source of the current run will be saved.
Definition SerpentSource.hxx:98
void SetCell(Cell *TheCell)
Definition SerpentSource.hxx:77
~SerpentSource() override
destructor
int fCellNumber
Definition SerpentSource.hxx:99
MCSource * Clone() override
Clone method.
Definition SerpentSource.hxx:62
void UsePreviousRunSource(string FirstSource="") override
use a previous kcode source for serpent.
Definition SerpentSource.cxx:124
bool fSaveCurrentSource
Whether MURE must save the source distribution of the current run in a file.
Definition SerpentSource.hxx:97
Abstract class to define geometrical shapes.
Definition Shape.hxx:85
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024