TrackingTools
DetLayers
src
DetRodOneR.cc
Go to the documentation of this file.
1
#include "
TrackingTools/DetLayers/interface/DetRodOneR.h
"
2
#include "
TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h
"
3
#include "
TrackingTools/DetLayers/interface/RodPlaneBuilderFromDet.h
"
4
5
#include <
Utilities/General/interface/precomputed_value_sort.h
>
6
#include <
Geometry/CommonDetUnit/interface/DetSorting.h
>
7
8
#include <algorithm>
9
#include <cmath>
10
11
using namespace
std
;
12
13
DetRodOneR::~DetRodOneR
() {}
14
15
DetRodOneR::DetRodOneR
(vector<const GeomDet*>::const_iterator
first
, vector<const GeomDet*>::const_iterator
last
)
16
:
DetRod
(
false
), theDets(
first
,
last
) {
17
initialize
();
18
}
19
20
DetRodOneR::DetRodOneR
(
const
vector<const GeomDet*>& dets) :
DetRod
(
false
), theDets(dets) {
initialize
(); }
21
22
void
DetRodOneR::initialize
() {
23
// assume the dets ARE in a rod;
24
// sort them in Z
25
26
precomputed_value_sort
(
theDets
.begin(),
theDets
.end(),
geomsort::DetZ
());
27
28
setPlane
(
RodPlaneBuilderFromDet
()(
theDets
));
29
}
30
31
// It needs that the basic component to have the compatible() method
32
bool
DetRodOneR::add
(
int
idet,
33
vector<DetWithState>&
result
,
34
const
TrajectoryStateOnSurface
& startingState,
35
const
Propagator
& prop,
36
const
MeasurementEstimator
& est)
const
{
37
pair<bool, TrajectoryStateOnSurface> compat =
38
theCompatibilityChecker
.
isCompatible
(
theDets
[idet], startingState, prop, est);
39
40
if
(compat.first) {
41
result
.push_back(
DetWithState
(
theDets
[idet], compat.second));
42
}
43
44
return
compat.first;
45
}
MeasurementEstimator
Definition:
MeasurementEstimator.h:19
TrajectoryStateOnSurface.h
funct::false
false
Definition:
Factorize.h:29
GeometricSearchDet::theCompatibilityChecker
GeomDetCompatibilityChecker theCompatibilityChecker
Definition:
GeometricSearchDet.h:102
RodPlaneBuilderFromDet.h
precomputed_value_sort.h
Propagator
Definition:
Propagator.h:44
DetSorting.h
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:16
DetRodOneR::initialize
void initialize()
Definition:
DetRodOneR.cc:22
dqmdumpme.last
last
Definition:
dqmdumpme.py:56
geomsort::DetZ
ExtractZ< GeomDet, float > DetZ
Definition:
DetSorting.h:50
DetRod
Definition:
DetRod.h:13
first
auto first
Definition:
CAHitNtupletGeneratorKernelsImpl.h:125
GeomDetCompatibilityChecker::isCompatible
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
Definition:
GeomDetCompatibilityChecker.cc:58
RodPlaneBuilderFromDet
Definition:
RodPlaneBuilderFromDet.h:15
DetRod::setPlane
void setPlane(Plane *plane)
Set the rod's plane.
Definition:
DetRod.h:28
DetRodOneR::theDets
std::vector< const GeomDet * > theDets
Definition:
DetRodOneR.h:37
DetRodOneR::add
bool add(int idet, std::vector< DetWithState > &result, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Query detector idet for compatible and add the output to result.
Definition:
DetRodOneR.cc:32
DetRodOneR::DetRodOneR
DetRodOneR(std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last)
Construct from iterators on GeomDet*.
Definition:
DetRodOneR.cc:15
GeometricSearchDet::DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Definition:
GeometricSearchDet.h:19
DetRodOneR::~DetRodOneR
~DetRodOneR() override
Definition:
DetRodOneR.cc:13
DetRodOneR.h
std
Definition:
JetResolutionObject.h:76
mps_fire.result
result
Definition:
mps_fire.py:311
precomputed_value_sort
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr, const Compare &comp)
Definition:
precomputed_value_sort.h:17
Generated for CMSSW Reference Manual by
1.8.16