OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Elements
OpalCCollimator.h
Go to the documentation of this file.
1
//
2
// Class OpalCCollimator
3
// The CCOLLIMATOR 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_OpalCCollimator_HH
19
#define OPAL_OpalCCollimator_HH
20
21
#include "
Elements/OpalElement.h
"
22
23
class
ParticleMatterInteraction
;
24
25
class
OpalCCollimator
:
public
OpalElement
{
26
27
public
:
28
30
enum
{
31
XSTART
=
COMMON
,
// Start of x coordinate
32
XEND
,
// End of x coordinate
33
YSTART
,
// Start of y coordinate
34
YEND
,
// End of y coordinate
35
ZSTART
,
// Top boundary
36
ZEND
,
// Bottom boundary
37
WIDTH
,
// The width of collimator
38
SIZE
39
};
40
42
OpalCCollimator
();
43
44
virtual
~OpalCCollimator
();
45
47
virtual
OpalCCollimator
*
clone
(
const
std::string&
name
);
48
50
virtual
void
update
();
51
52
private
:
53
54
// Not implemented.
55
OpalCCollimator
(
const
OpalCCollimator
&);
56
void
operator=
(
const
OpalCCollimator
&);
57
58
// Clone constructor.
59
OpalCCollimator
(
const
std::string&
name
,
OpalCCollimator
* parent);
60
ParticleMatterInteraction
*
parmatint_m
;
61
};
62
63
#endif // OPAL_OpalCCollimator_HH
OpalCCollimator::YSTART
Definition:
OpalCCollimator.h:33
OpalElement.h
OpalCCollimator::XSTART
Definition:
OpalCCollimator.h:31
OpalCCollimator::clone
virtual OpalCCollimator * clone(const std::string &name)
Make clone.
Definition:
OpalCCollimator.cpp:63
OpalCCollimator::ZEND
Definition:
OpalCCollimator.h:36
OpalCCollimator::parmatint_m
ParticleMatterInteraction * parmatint_m
Definition:
OpalCCollimator.h:60
OpalCCollimator::SIZE
Definition:
OpalCCollimator.h:38
OpalCCollimator::ZSTART
Definition:
OpalCCollimator.h:35
OpalCCollimator::XEND
Definition:
OpalCCollimator.h:32
OpalElement
Definition:
OpalElement.h:28
OpalCCollimator::update
virtual void update()
Update the embedded CLASSIC collimator.
Definition:
OpalCCollimator.cpp:68
OpalCCollimator::OpalCCollimator
OpalCCollimator()
Exemplar constructor.
Definition:
OpalCCollimator.cpp:25
OpalCCollimator
Definition:
OpalCCollimator.h:25
OpalCCollimator::YEND
Definition:
OpalCCollimator.h:34
name
const std::string name
Definition:
MaxNormRadialPeak.cpp:32
OpalCCollimator::~OpalCCollimator
virtual ~OpalCCollimator()
Definition:
OpalCCollimator.cpp:57
ParticleMatterInteraction
Definition:
ParticleMatterInteraction.h:34
OpalElement::COMMON
Definition:
OpalElement.h:56
OpalCCollimator::operator=
void operator=(const OpalCCollimator &)
OpalCCollimator::WIDTH
Definition:
OpalCCollimator.h:37
Generated on Tue Jul 2 2024 15:05:23 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5