ATLAS Offline Software
ForwardDetectors
ForwardTracker
ForwardTracker
ForwardTracker/ForwardTracker/Collimator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef FORWARDTRACKER_COLLIMATOR_H
6
#define FORWARDTRACKER_COLLIMATOR_H
7
8
#include "
IBeamElement.h
"
9
#include "
Point.h
"
10
11
#include <limits>
12
#include <algorithm>
13
14
namespace
ForwardTracker
{
15
16
class
IParticle
;
17
class
TransversePoint;
18
19
class
Collimator
:
public
IBeamElement
{
20
21
public
:
22
23
Collimator
(
double
,
double
,
Side
);
24
25
std::string
label
()
const
{
return
m_label
; }
26
Side
side
()
const
{
return
m_side
; }
27
double
frontFace
()
const
{
return
m_frontFace
; }
28
double
rearFace
()
const
{
return
m_rearFace
; }
29
Point
position
()
const
{
return
m_position
; }
30
bool
isEndElement
()
const
{
return
false
; }
31
32
IBeamElement::ConstPtr_t
clone
()
const
{
IBeamElement::ConstPtr_t
pbe(
new
Collimator
(*
this
));
return
pbe; }
33
34
void
track
(
IParticle
&)
const
;
35
36
typedef
std::shared_ptr< const Collimator >
ConstPtr_t
;
37
typedef
std::vector< ConstPtr_t >
Container_t
;
38
39
std::string
str
()
const
;
40
41
private
:
42
43
std::string
m_label
;
44
Side
m_side
;
45
double
m_frontFace
;
46
double
m_rearFace
;
47
Point
m_position
;
48
double
m_xaperture
;
49
double
m_xouter
;
50
double
m_xinner
;
51
52
bool
isOutOfAperture
(
const
TransversePoint
&
p
)
const
{
return
(
p
.x() >
m_xouter
or
p
.x() <
m_xinner
); }
53
};
54
55
std::ostream&
operator<<
(std::ostream&,
const
Collimator&);
56
}
57
58
#endif
ForwardTracker::Collimator::m_xaperture
double m_xaperture
Definition:
ForwardTracker/ForwardTracker/Collimator.h:48
ForwardTracker::Collimator::Container_t
std::vector< ConstPtr_t > Container_t
Definition:
ForwardTracker/ForwardTracker/Collimator.h:37
python.PerfMonSerializer.p
def p
Definition:
PerfMonSerializer.py:743
ForwardTracker::Collimator::label
std::string label() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:25
ForwardTracker::Collimator
Definition:
ForwardTracker/ForwardTracker/Collimator.h:19
ForwardTracker::Collimator::str
std::string str() const
Definition:
ForwardTracker/src/Collimator.cxx:33
ForwardTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition:
ForwardTracker/ForwardTracker/IBeamElement.h:39
Point.h
ForwardTracker::Collimator::m_xinner
double m_xinner
Definition:
ForwardTracker/ForwardTracker/Collimator.h:50
ForwardTracker::Collimator::m_xouter
double m_xouter
Definition:
ForwardTracker/ForwardTracker/Collimator.h:49
ForwardTracker::Point
Definition:
ForwardTracker/ForwardTracker/Point.h:15
ForwardTracker::Collimator::m_side
Side m_side
Definition:
ForwardTracker/ForwardTracker/Collimator.h:44
ForwardTracker::operator<<
std::ostream & operator<<(std::ostream &, const Beamline &)
Definition:
ForwardTracker/src/Beamline.cxx:105
ForwardTracker::Collimator::Collimator
Collimator(double, double, Side)
Definition:
ForwardTracker/src/Collimator.cxx:11
ForwardTracker::Collimator::m_label
std::string m_label
Definition:
ForwardTracker/ForwardTracker/Collimator.h:43
ForwardTracker::Collimator::m_frontFace
double m_frontFace
Definition:
ForwardTracker/ForwardTracker/Collimator.h:45
ForwardTracker::Collimator::rearFace
double rearFace() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:28
Side
Definition:
WaferTree.h:36
ForwardTracker::TransversePoint
Definition:
ForwardTracker/ForwardTracker/TransversePoint.h:13
ForwardTracker::IParticle
Definition:
ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:16
ForwardTracker::Collimator::frontFace
double frontFace() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:27
ForwardTracker::Collimator::position
Point position() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:29
ForwardTracker::Collimator::track
void track(IParticle &) const
Definition:
ForwardTracker/src/Collimator.cxx:24
ForwardTracker::Collimator::m_rearFace
double m_rearFace
Definition:
ForwardTracker/ForwardTracker/Collimator.h:46
ForwardTracker::Collimator::isOutOfAperture
bool isOutOfAperture(const TransversePoint &p) const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:52
IBeamElement.h
ForwardTracker::Collimator::m_position
Point m_position
Definition:
ForwardTracker/ForwardTracker/Collimator.h:47
ForwardTracker::Collimator::clone
IBeamElement::ConstPtr_t clone() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:32
ForwardTracker::Collimator::ConstPtr_t
std::shared_ptr< const Collimator > ConstPtr_t
Definition:
ForwardTracker/ForwardTracker/Collimator.h:36
ForwardTracker::IBeamElement
Definition:
ForwardTracker/ForwardTracker/IBeamElement.h:22
IParticle
Definition:
Event/EventKernel/EventKernel/IParticle.h:43
ForwardTracker
Definition:
ForwardTracker/ForwardTracker/Beamline.h:12
ForwardTracker::Collimator::isEndElement
bool isEndElement() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:30
ForwardTracker::Collimator::side
Side side() const
Definition:
ForwardTracker/ForwardTracker/Collimator.h:26
Generated on Thu Jul 4 2024 21:12:24 for ATLAS Offline Software by
1.8.18