ATLAS Offline Software
Reconstruction
MuonIdentification
ICaloTrkMuIdTools
ICaloTrkMuIdTools
ITrackDepositInCaloTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
6
#define CALOTRKMUIDTOOLS_ITRACKDEPOSITINCALOTOOL_H
7
8
#include "
CaloDetDescr/CaloDetDescriptor.h
"
9
#include "
CaloEvent/CaloCell.h
"
10
#include "
CaloEvent/CaloCellContainer.h
"
11
#include "GaudiKernel/IAlgTool.h"
12
#include "GaudiKernel/StatusCode.h"
13
#include "
TrkCaloExtension/CaloExtensionCollection.h
"
14
#include "
TrkParameters/TrackParameters.h
"
15
#include "
TrkTrack/Track.h
"
16
#include "
muonEvent/DepositInCalo.h
"
17
#include "
xAODTracking/TrackParticle.h
"
18
19
class
ITrackDepositInCaloTool :
virtual
public
IAlgTool {
24
public
:
25
enum
CaloSurfaceType { Entrance = 0, Middle = 1, Exit = 2, Inside = 3,
Outside
= 4 };
26
virtual
~ITrackDepositInCaloTool() =
default
;
27
28
static
const
InterfaceID& interfaceID() {
29
static
const
InterfaceID IID_ITrackDepositInCaloTool(
"ITrackDepositInCaloTool"
, 1, 0);
30
return
IID_ITrackDepositInCaloTool;
31
}
32
36
virtual
std::vector<DepositInCalo> deposits(
const
Trk::TrackParameters
*
par
,
37
const
CaloCellContainer
* cellContainer =
nullptr
)
const
= 0;
42
virtual
std::vector<DepositInCalo> getDeposits(
const
Trk::TrackParameters
*
par
,
43
const
CaloCellContainer
* caloCellCont =
nullptr
)
const
= 0;
44
45
virtual
std::vector<DepositInCalo> getDeposits(
const
xAOD::TrackParticle
*
tp
,
const
CaloCellContainer
* caloCellCont =
nullptr
,
46
const
CaloExtensionCollection
* extensionCache =
nullptr
)
const
= 0;
47
53
virtual
Trk::Surface
* createSurface(
const
CaloDetDescriptor
*
descr
, CaloSurfaceType
type
)
const
= 0;
57
virtual
double
calcEnergy(
const
Trk::TrackParameters
*
par
,
const
Trk::ParticleHypothesis
& particleHypo)
const
= 0;
58
62
typedef
std::map<double, std::vector<const CaloDetDescriptor*> > CaloLayerMap;
63
typedef
std::map<double, std::vector<const CaloDetDescriptor*> >::const_iterator CaloLayerMapIt;
64
};
65
66
#endif
TrackParameters.h
ParticleTest.tp
tp
Definition:
ParticleTest.py:25
CaloCell.h
Track.h
Trk::ParticleHypothesis
ParticleHypothesis
Definition:
ParticleHypothesis.h:25
CaloDetDescriptor.h
Definition of CaloDetDescriptor.
DepositInCalo.h
python.TransformConfig.descr
descr
print "%s.properties()" % self.__name__
Definition:
TransformConfig.py:360
Trk::ParametersBase
Definition:
ParametersBase.h:55
Trk::BoundaryCheckResult::Outside
@ Outside
with the insensitive area of an active element
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
createCoolChannelIdFile.par
par
Definition:
createCoolChannelIdFile.py:29
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition:
CaloCellContainer.h:55
CaloExtensionCollection.h
TrackParticle.h
CaloDetDescriptor
This is a base class for LAr and Tile Descriptors The primary goal is to speed up loops over all the ...
Definition:
CaloDetDescriptor.h:58
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
Trk::Surface
Definition:
Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Generated on Thu Nov 7 2024 21:17:39 for ATLAS Offline Software by
1.8.18