ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDigitization
TrkDigEvent
TrkDigEvent
Segmentation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// Segmentation.h, ATLAS Detector software
8
9
#ifndef TRKDIGEVENT_SEGMENTATION_H
10
#define TRKDIGEVENT_SEGMENTATION_H
11
12
// GeoPrimitives
13
#include "
GeoPrimitives/GeoPrimitives.h
"
14
// Trk includes
15
#include "
TrkDigEvent/DigitizationCell.h
"
16
// STL
17
#include <memory>
18
#include <vector>
19
20
namespace
Trk
{
21
22
class
Surface
;
23
class
SurfaceBounds
;
24
39
class
Segmentation
{
40
public
:
42
virtual
~Segmentation
() {}
43
45
virtual
void
createSegmenationSurfaces
(std::vector< std::shared_ptr< const Surface> >& boundarySurfaces,
46
std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesX,
47
std::vector< std::shared_ptr< const Surface> >& segmentationSurfacesY,
48
double
halfThickness,
49
int
readoutDirection,
50
double
lorentzAngle)
const
= 0;
51
53
virtual
const
DigitizationCell
cell
(
const
Amg::Vector3D
&
position
)
const
= 0;
54
56
virtual
const
DigitizationCell
cell
(
const
Amg::Vector2D
&
position
)
const
= 0;
57
59
virtual
const
Amg::Vector2D
cellPosition
(
const
DigitizationCell
& dCell)
const
= 0;
60
62
virtual
const
DigitizationStep
digitizationStep
(
const
Amg::Vector3D
& start,
63
const
Amg::Vector3D
& end,
64
double
halfThickness,
65
int
readoutDirection,
66
double
lorentzAngle)
const
=0;
67
69
virtual
const
SurfaceBounds
&
moduleBounds
()
const
= 0;
70
71
72
};
73
74
}
75
76
#endif
77
DigitizationCell.h
GeoPrimitives.h
Trk::Segmentation
Segementation class for generic pixel, strixels and strip segmentations on a rectangle shape.
Definition
Segmentation.h:39
Trk::Segmentation::cell
virtual const DigitizationCell cell(const Amg::Vector3D &position) const =0
Get the digitization cell fropm a 3D position - ignores the shift.
Trk::Segmentation::moduleBounds
virtual const SurfaceBounds & moduleBounds() const =0
return the surface bounds by reference
Trk::Segmentation::digitizationStep
virtual const DigitizationStep digitizationStep(const Amg::Vector3D &start, const Amg::Vector3D &end, double halfThickness, int readoutDirection, double lorentzAngle) const =0
Fill the associated digitsation cell from the start and end position in 3D, correct for lorentz effec...
Trk::Segmentation::cell
virtual const DigitizationCell cell(const Amg::Vector2D &position) const =0
Get the digitization cell fropm a 2D position.
Trk::Segmentation::cellPosition
virtual const Amg::Vector2D cellPosition(const DigitizationCell &dCell) const =0
calculate the cell Position from the Id
Trk::Segmentation::createSegmenationSurfaces
virtual void createSegmenationSurfaces(std::vector< std::shared_ptr< const Surface > > &boundarySurfaces, std::vector< std::shared_ptr< const Surface > > &segmentationSurfacesX, std::vector< std::shared_ptr< const Surface > > &segmentationSurfacesY, double halfThickness, int readoutDirection, double lorentzAngle) const =0
Create the segmentation surfaces in X.
Trk::Segmentation::~Segmentation
virtual ~Segmentation()
Virtual Destructor.
Definition
Segmentation.h:42
Trk::SurfaceBounds
Abstract base class for surface bounds to be specified.
Definition
SurfaceBounds.h:47
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition
GeoPrimitives.h:48
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::DigitizationCell
std::pair< size_t, size_t > DigitizationCell
Definition
DigitizationCell.h:18
Trk::position
const Amg::Vector3D & position() const
Method to retrieve the position of the Intersection.
Trk::DigitizationStep
handling
Definition
DigitizationCell.h:21
Generated on
for ATLAS Offline Software by
1.17.0