ATLAS Offline Software
Loading...
Searching...
No Matches
FPTracker/FPTracker/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 FPTRACKER_COLLIMATOR_H
6#define FPTRACKER_COLLIMATOR_H
7
8#include "IBeamElement.h"
10#include "Point.h"
11#include <memory>
12#include <vector>
13#include <string>
14#include <iosfwd>
15
16namespace FPTracker{
17
18 class IParticle;
19 class TransversePoint;
21 public:
22 Collimator(double, double, Side);
24 double frontFace() const;
25 double rearFace() const;
26 double zabspos() const;
27 double zsignedpos() const;
28 Side side() const;
29 Point position() const;
30 std::string label() const;
31 std::string str() const;
32
33 bool isEndElement() const;
34
35 void track(IParticle&) const;
36 //center collimator jaws on calibration particle trajectory
37 void calibrate(IParticle&);
38
39
40 typedef std::shared_ptr< Collimator > Ptr_t;
41 typedef std::vector< Ptr_t > Container_t;
42
43 private:
44
45 static const std::string s_label;
48 double m_xouter;
49 double m_xinner;
51
52 bool isOutOfAperture(const TransversePoint&) const;
53 };
54
55
56
57 class ostream;
58 std::ostream& operator<<(std::ostream&, const Collimator&);
59}
60#endif
bool isOutOfAperture(const TransversePoint &) const
IBeamElement::ConstPtr_t clone() const
std::shared_ptr< Collimator > Ptr_t
void track(IParticle &) const
Collimator(double, double, Side)
std::shared_ptr< const IBeamElement > ConstPtr_t
STL class.
std::ostream & operator<<(std::ostream &os, const Beamline &bl)