OPALX (Object Oriented Parallel Accelerator Library for Exascal)
master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
OpalVacuum.h
Go to the documentation of this file.
1
//
2
// Class OpalVacuum
3
// Defines the VACUUM element and its attributes.
4
//
5
// Copyright (c) 2018 - 2021, Pedro Calvo, CIEMAT, Spain
6
// All rights reserved
7
//
8
// Implemented as part of the PhD thesis
9
// "Optimizing the radioisotope production of the novel AMIT
10
// superconducting weak focusing cyclotron"
11
//
12
// This file is part of OPAL.
13
//
14
// OPAL is free software: you can redistribute it and/or modify
15
// it under the terms of the GNU General Public License as published by
16
// the Free Software Foundation, either version 3 of the License, or
17
// (at your option) any later version.
18
//
19
// You should have received a copy of the GNU General Public License
20
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
21
//
22
#ifndef OPAL_OpalVacuum_HH
23
#define OPAL_OpalVacuum_HH
24
25
#include "
Elements/OpalElement.h
"
26
27
class
ParticleMatterInteraction;
28
29
class
OpalVacuum
:
public
OpalElement
{
30
public
:
32
enum
{
33
GAS
=
COMMON
,
// Type of gas for residual vacuum
34
PRESSURE
,
// Pressure in mbar
35
TEMPERATURE
,
// Temperature of residual gas
36
PMAPFN
,
// The filename of the mid-plane pressure map
37
PSCALE
,
// A scalar to scale the P-field
38
STOP
,
// whether the secondary particles are tracked
39
SIZE
40
};
41
43
OpalVacuum
();
44
45
virtual
~OpalVacuum
();
46
48
virtual
OpalVacuum
*
clone
(
const
std::string& name);
49
51
virtual
void
update
();
52
53
private
:
54
// Not implemented.
55
OpalVacuum
(
const
OpalVacuum
&);
56
void
operator=
(
const
OpalVacuum
&);
57
58
// Clone constructor.
59
OpalVacuum
(
const
std::string& name,
OpalVacuum
* parent);
60
61
ParticleMatterInteraction*
parmatint_m
;
62
};
63
64
#endif
// OPAL_OpalVacuum_HH
OpalElement.h
OpalElement
Definition
OpalElement.h:31
OpalElement::COMMON
@ COMMON
Definition
OpalElement.h:57
OpalVacuum
Definition
OpalVacuum.h:29
OpalVacuum::OpalVacuum
OpalVacuum()
Exemplar constructor.
Definition
OpalVacuum.cpp:27
OpalVacuum::parmatint_m
ParticleMatterInteraction * parmatint_m
Definition
OpalVacuum.h:61
OpalVacuum::~OpalVacuum
virtual ~OpalVacuum()
Definition
OpalVacuum.cpp:58
OpalVacuum::clone
virtual OpalVacuum * clone(const std::string &name)
Make clone.
Definition
OpalVacuum.cpp:60
OpalVacuum::operator=
void operator=(const OpalVacuum &)
OpalVacuum::PRESSURE
@ PRESSURE
Definition
OpalVacuum.h:34
OpalVacuum::GAS
@ GAS
Definition
OpalVacuum.h:33
OpalVacuum::TEMPERATURE
@ TEMPERATURE
Definition
OpalVacuum.h:35
OpalVacuum::PMAPFN
@ PMAPFN
Definition
OpalVacuum.h:36
OpalVacuum::STOP
@ STOP
Definition
OpalVacuum.h:38
OpalVacuum::PSCALE
@ PSCALE
Definition
OpalVacuum.h:37
OpalVacuum::SIZE
@ SIZE
Definition
OpalVacuum.h:39
OpalVacuum::OpalVacuum
OpalVacuum(const OpalVacuum &)
OpalVacuum::update
virtual void update()
Update the embedded OPALX vacuum.
Definition
OpalVacuum.cpp:62
src
Elements
OpalVacuum.h
Generated on Mon Jun 1 2026 10:40:52 for OPALX (Object Oriented Parallel Accelerator Library for Exascal) by
1.9.8