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
26
27class ParticleMatterInteraction;
28
29class OpalVacuum : public OpalElement {
30public:
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
53private:
54 // Not implemented.
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
OpalVacuum()
Exemplar constructor.
ParticleMatterInteraction * parmatint_m
Definition OpalVacuum.h:61
virtual ~OpalVacuum()
virtual OpalVacuum * clone(const std::string &name)
Make clone.
void operator=(const OpalVacuum &)
OpalVacuum(const OpalVacuum &)
virtual void update()
Update the embedded OPALX vacuum.