OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Elements
OpalFlexibleCollimator.h
Go to the documentation of this file.
1
//
2
// Class OpalFlexibleCollimator
3
// The Flexible Collimator element.
4
//
5
// Copyright (c) 200x - 2020, Paul Scherrer Institut, Villigen PSI, Switzerland
6
// All rights reserved
7
//
8
// This file is part of OPAL.
9
//
10
// OPAL is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
17
//
18
#ifndef OPAL_OpalFlexibleCollimator_HH
19
#define OPAL_OpalFlexibleCollimator_HH
20
21
#include "
Elements/OpalElement.h
"
22
23
class
ParticleMatterInteraction
;
24
25
class
OpalFlexibleCollimator
:
public
OpalElement
{
26
27
public
:
28
30
enum
{
31
FNAME
=
COMMON
,
// The horizontal half-size.
32
DESC
,
33
DUMP
,
34
SIZE
35
};
36
38
OpalFlexibleCollimator
();
39
40
virtual
~OpalFlexibleCollimator
();
41
43
virtual
OpalFlexibleCollimator
*
clone
(
const
std::string&
name
);
44
46
virtual
void
update
();
47
48
private
:
49
50
// Not implemented.
51
OpalFlexibleCollimator
(
const
OpalFlexibleCollimator
&);
52
void
operator=
(
const
OpalFlexibleCollimator
&);
53
54
// Clone constructor.
55
OpalFlexibleCollimator
(
const
std::string&
name
,
OpalFlexibleCollimator
* parent);
56
57
ParticleMatterInteraction
*
parmatint_m
;
58
};
59
60
#endif // OPAL_OpalFlexibleCollimator_HH
OpalFlexibleCollimator::parmatint_m
ParticleMatterInteraction * parmatint_m
Definition:
OpalFlexibleCollimator.h:57
OpalElement.h
OpalFlexibleCollimator::FNAME
Definition:
OpalFlexibleCollimator.h:31
OpalFlexibleCollimator::~OpalFlexibleCollimator
virtual ~OpalFlexibleCollimator()
Definition:
OpalFlexibleCollimator.cpp:49
OpalFlexibleCollimator::SIZE
Definition:
OpalFlexibleCollimator.h:34
OpalFlexibleCollimator::update
virtual void update()
Update the embedded CLASSIC collimator.
Definition:
OpalFlexibleCollimator.cpp:60
OpalElement
Definition:
OpalElement.h:28
OpalFlexibleCollimator::DUMP
Definition:
OpalFlexibleCollimator.h:33
OpalFlexibleCollimator::operator=
void operator=(const OpalFlexibleCollimator &)
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
ParticleMatterInteraction
Definition:
ParticleMatterInteraction.h:34
OpalFlexibleCollimator::DESC
Definition:
OpalFlexibleCollimator.h:32
OpalElement::COMMON
Definition:
OpalElement.h:56
OpalFlexibleCollimator::clone
virtual OpalFlexibleCollimator * clone(const std::string &name)
Make clone.
Definition:
OpalFlexibleCollimator.cpp:55
OpalFlexibleCollimator::OpalFlexibleCollimator
OpalFlexibleCollimator()
Exemplar constructor.
Definition:
OpalFlexibleCollimator.cpp:26
OpalFlexibleCollimator
Definition:
OpalFlexibleCollimator.h:25
Generated on Tue Jul 2 2024 15:05:24 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5