ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
eflowTrackCaloPoints.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
6
#ifndef EFLOWREC_EFLOW_TRACK_CALO_POINTS_H
7
#define EFLOWREC_EFLOW_TRACK_CALO_POINTS_H
8
9
/********************************************************************
10
11
NAME: eflowTrackCaloPoints.h
12
PACKAGE: offline/Reconstruction/eflowRec
13
14
AUTHORS: R. Duxfield
15
CREATED: 4th January, 2006
16
17
********************************************************************/
18
19
#include <map>
20
#include "
eflowCaloRegions.h
"
21
#include "
GeoPrimitives/GeoPrimitives.h
"
// compiles without, throws down warning: CHECKREQ---> The following packages are apparently not needed. (severity 2)
22
#include "
TrkParameters/TrackParameters.h
"
// typedef
23
#include "
eflowUtil.h
"
24
25
class
MsgStream;
26
30
class
eflowTrackCaloPoints
{
31
public
:
32
33
eflowTrackCaloPoints
(
const
std::map<eflowCalo::LAYER, const Trk::TrackParameters*> & trackParameters);
34
eflowTrackCaloPoints
(
const
std::map<eflowCalo::LAYER, const Trk::TrackParameters*> & trackParameters,
35
std::map<CaloCell_ID::CaloSample,const Trk::TrackParameters*>& tileTrackParamaters);
36
eflowTrackCaloPoints
() :
m_isEM1Barrel
(false),
m_isEM2Barrel
(false) {}
37
~eflowTrackCaloPoints
();
38
39
const
std::pair<float, float>
operator[]
(
eflowCalo::LAYER
layer)
const
;
40
const
eflowEtaPhiPosition
&
getEtaPhiPos
(
eflowCalo::LAYER
layer)
const
;
41
const
eflowEtaPhiPosition
&
getTileEtaPhiPos
(
CaloCell_ID::CaloSample
layer)
const
;
42
43
double
getEta
(
eflowCalo::LAYER
layer)
const
{
return
getEtaPhiPos
(layer).
getEta
();}
44
double
getPhi
(
eflowCalo::LAYER
layer)
const
{
return
getEtaPhiPos
(layer).
getPhiD
();}
45
46
double
getTileEta
(
CaloCell_ID::CaloSample
layer)
const
{
return
getTileEtaPhiPos
(layer).
getEta
();}
47
double
getTilePhi
(
CaloCell_ID::CaloSample
layer)
const
{
return
getTileEtaPhiPos
(layer).
getPhiD
();}
48
49
const
std::pair<float, float>
getEM2etaPhi
()
const
{
return
(*
this
)[
getEM2Layer
()]; }
50
const
eflowEtaPhiPosition
&
getEM2etaPhiPos
()
const
{
return
getEtaPhiPos
(
getEM2Layer
()); }
51
double
getEM2eta
()
const
{
return
getEM2etaPhiPos
().
getEta
(); }
52
double
getEM1eta
()
const
{
return
getEtaPhiPos
(
getEM1Layer
()).
getEta
(); }
53
double
getFCAL0eta
()
const
{
return
getEtaPhiPos
(
eflowCalo::FCAL0
).
getEta
(); }
54
55
Amg::Vector3D
getPosition
(
eflowCalo::LAYER
layer);
56
Amg::Vector3D
getDirection
(
eflowCalo::LAYER
layer);
57
58
static
double
defaultEta
();
59
static
double
defaultPhi
();
60
61
inline
bool
haveLayer
(
eflowCalo::LAYER
layer)
const
{
return
getEta
(layer) !=
m_defaultEtaPhiPair
.first; }
62
63
void
setEtaPhi
(
eflowCaloENUM
secondLayer,
double
eta
,
double
phi
);
64
void
setEtaPhiTile
(
CaloCell_ID::CaloSample
secondLayer,
const
Amg::Vector3D
&
vec
);
65
void
setEtaPhi
(
eflowCalo::LAYER
lay,
const
Amg::Vector3D
&
vec
);
66
void
copyEtaPhi
(
eflowCalo::LAYER
fromLay,
eflowCalo::LAYER
toLay);
67
68
static
Amg::Vector3D
parToPosition
(
const
Trk::TrackParameters
* extrapolatedParameters);
69
static
Amg::Vector3D
parToDirection
(
const
Trk::TrackParameters
* extrapolatedParameters);
70
71
bool
m_isEM1Barrel
;
72
bool
m_isEM2Barrel
;
73
74
private
:
75
76
static
const
Amg::Vector3D
m_nullVector
;
77
78
inline
eflowCalo::LAYER
getEM2Layer
()
const
{
return
m_isEM2Barrel
?
eflowCalo::EMB2
:
eflowCalo::EME2
; }
79
inline
eflowCalo::LAYER
getEM1Layer
()
const
{
return
m_isEM1Barrel
?
eflowCalo::EMB1
:
eflowCalo::EME1
; }
80
81
82
static
const
std::pair<float, float>
m_defaultEtaPhiPair
;
83
static
const
eflowEtaPhiPosition
m_defaultEtaPhiPosition
;
84
85
std::map<eflowCalo::LAYER, Amg::Vector3D >
m_positions
;
86
std::map<eflowCalo::LAYER, Amg::Vector3D >
m_directions
;
87
std::map<eflowCalo::LAYER, eflowEtaPhiPosition>
m_etaPhiPositions
;
88
std::map<CaloCell_ID::CaloSample,eflowEtaPhiPosition>
m_tileEtaPhiPositions
;
89
};
90
91
inline
void
eflowTrackCaloPoints::copyEtaPhi
(
eflowCalo::LAYER
fromLay,
eflowCalo::LAYER
toLay) {
92
std::map<eflowCalo::LAYER, eflowEtaPhiPosition>::const_iterator it =
m_etaPhiPositions
.find(fromLay);
93
if
(it !=
m_etaPhiPositions
.end()) {
94
m_etaPhiPositions
[toLay] = it->second;
95
}
96
}
97
98
99
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
vec
std::vector< size_t > vec
Definition
CombinationsGeneratorTest.cxx:9
GeoPrimitives.h
TrackParameters.h
CaloCell_ID::CaloSample
CaloSampling::CaloSample CaloSample
Definition
CaloCell_ID.h:53
eflowCalo::LAYER
LAYER
Definition
eflowCaloRegions.h:28
eflowCalo::EMB1
@ EMB1
Definition
eflowCaloRegions.h:29
eflowCalo::EME2
@ EME2
Definition
eflowCaloRegions.h:30
eflowCalo::EMB2
@ EMB2
Definition
eflowCaloRegions.h:29
eflowCalo::FCAL0
@ FCAL0
Definition
eflowCaloRegions.h:33
eflowCalo::EME1
@ EME1
Definition
eflowCaloRegions.h:30
eflowEtaPhiPosition
Definition
eflowUtil.h:82
eflowEtaPhiPosition::getPhiD
double getPhiD() const
Definition
eflowUtil.h:89
eflowEtaPhiPosition::getEta
double getEta() const
Definition
eflowUtil.h:87
eflowTrackCaloPoints::m_isEM1Barrel
bool m_isEM1Barrel
Definition
eflowTrackCaloPoints.h:71
eflowTrackCaloPoints::getFCAL0eta
double getFCAL0eta() const
Definition
eflowTrackCaloPoints.h:53
eflowTrackCaloPoints::getEM2etaPhiPos
const eflowEtaPhiPosition & getEM2etaPhiPos() const
Definition
eflowTrackCaloPoints.h:50
eflowTrackCaloPoints::parToDirection
static Amg::Vector3D parToDirection(const Trk::TrackParameters *extrapolatedParameters)
Definition
eflowTrackCaloPoints.cxx:111
eflowTrackCaloPoints::eflowTrackCaloPoints
eflowTrackCaloPoints(const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > &trackParameters)
Definition
eflowTrackCaloPoints.cxx:31
eflowTrackCaloPoints::defaultEta
static double defaultEta()
Definition
eflowTrackCaloPoints.cxx:28
eflowTrackCaloPoints::getTileEta
double getTileEta(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.h:46
eflowTrackCaloPoints::getEM1eta
double getEM1eta() const
Definition
eflowTrackCaloPoints.h:52
eflowTrackCaloPoints::parToPosition
static Amg::Vector3D parToPosition(const Trk::TrackParameters *extrapolatedParameters)
Definition
eflowTrackCaloPoints.cxx:107
eflowTrackCaloPoints::eflowTrackCaloPoints
eflowTrackCaloPoints()
Definition
eflowTrackCaloPoints.h:36
eflowTrackCaloPoints::getEM1Layer
eflowCalo::LAYER getEM1Layer() const
Definition
eflowTrackCaloPoints.h:79
eflowTrackCaloPoints::defaultPhi
static double defaultPhi()
Definition
eflowTrackCaloPoints.cxx:29
eflowTrackCaloPoints::m_nullVector
static const Amg::Vector3D m_nullVector
Definition
eflowTrackCaloPoints.h:76
eflowTrackCaloPoints::copyEtaPhi
void copyEtaPhi(eflowCalo::LAYER fromLay, eflowCalo::LAYER toLay)
Definition
eflowTrackCaloPoints.h:91
eflowTrackCaloPoints::m_defaultEtaPhiPair
static const std::pair< float, float > m_defaultEtaPhiPair
Definition
eflowTrackCaloPoints.h:82
eflowTrackCaloPoints::getPhi
double getPhi(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:44
eflowTrackCaloPoints::getPosition
Amg::Vector3D getPosition(eflowCalo::LAYER layer)
Definition
eflowTrackCaloPoints.cxx:97
eflowTrackCaloPoints::getEtaPhiPos
const eflowEtaPhiPosition & getEtaPhiPos(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.cxx:86
eflowTrackCaloPoints::getEta
double getEta(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:43
eflowTrackCaloPoints::getTilePhi
double getTilePhi(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.h:47
eflowTrackCaloPoints::setEtaPhi
void setEtaPhi(eflowCaloENUM secondLayer, double eta, double phi)
Definition
eflowTrackCaloPoints.cxx:78
eflowTrackCaloPoints::m_isEM2Barrel
bool m_isEM2Barrel
Definition
eflowTrackCaloPoints.h:72
eflowTrackCaloPoints::getTileEtaPhiPos
const eflowEtaPhiPosition & getTileEtaPhiPos(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.cxx:91
eflowTrackCaloPoints::getEM2eta
double getEM2eta() const
Definition
eflowTrackCaloPoints.h:51
eflowTrackCaloPoints::getEM2etaPhi
const std::pair< float, float > getEM2etaPhi() const
Definition
eflowTrackCaloPoints.h:49
eflowTrackCaloPoints::m_directions
std::map< eflowCalo::LAYER, Amg::Vector3D > m_directions
Definition
eflowTrackCaloPoints.h:86
eflowTrackCaloPoints::operator[]
const std::pair< float, float > operator[](eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.cxx:82
eflowTrackCaloPoints::m_tileEtaPhiPositions
std::map< CaloCell_ID::CaloSample, eflowEtaPhiPosition > m_tileEtaPhiPositions
Definition
eflowTrackCaloPoints.h:88
eflowTrackCaloPoints::haveLayer
bool haveLayer(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:61
eflowTrackCaloPoints::getDirection
Amg::Vector3D getDirection(eflowCalo::LAYER layer)
Definition
eflowTrackCaloPoints.cxx:102
eflowTrackCaloPoints::m_defaultEtaPhiPosition
static const eflowEtaPhiPosition m_defaultEtaPhiPosition
Definition
eflowTrackCaloPoints.h:83
eflowTrackCaloPoints::setEtaPhiTile
void setEtaPhiTile(CaloCell_ID::CaloSample secondLayer, const Amg::Vector3D &vec)
Definition
eflowTrackCaloPoints.cxx:72
eflowTrackCaloPoints::getEM2Layer
eflowCalo::LAYER getEM2Layer() const
Definition
eflowTrackCaloPoints.h:78
eflowTrackCaloPoints::m_positions
std::map< eflowCalo::LAYER, Amg::Vector3D > m_positions
Definition
eflowTrackCaloPoints.h:85
eflowTrackCaloPoints::~eflowTrackCaloPoints
~eflowTrackCaloPoints()
eflowTrackCaloPoints::m_etaPhiPositions
std::map< eflowCalo::LAYER, eflowEtaPhiPosition > m_etaPhiPositions
Definition
eflowTrackCaloPoints.h:87
eflowCaloRegions.h
eflowCaloENUM
eflowCalo::LAYER eflowCaloENUM
Definition
eflowCaloRegions.h:49
eflowUtil.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0