DataFormats
TrackerRecHit2D
interface
TkCloner.h
Go to the documentation of this file.
1
#ifndef TKClonerRecHit_H
2
#define TKClonerRecHit_H
3
4
#include <memory>
5
#include "
DataFormats/TrackingRecHit/interface/TrackingRecHit.h
"
6
#include "
FWCore/Utilities/interface/thread_safety_macros.h
"
7
8
class
SiPixelRecHit
;
9
class
SiStripRecHit2D
;
10
class
SiStripRecHit1D
;
11
class
SiStripMatchedRecHit2D
;
12
class
ProjectedSiStripRecHit2D
;
13
class
Phase2TrackerRecHit1D
;
14
class
VectorHit
;
15
16
class
TkCloner
{
17
public
:
18
TrackingRecHit
*
operator
()
CMS_THREAD_SAFE
(
TrackingRecHit
const
&
hit
,
TrajectoryStateOnSurface
const
&
tsos
)
const
{
19
return
hit
.clone_(*
this
,
tsos
);
20
}
21
22
virtual
~TkCloner
() {}
23
#ifndef __GCCXML__
24
TrackingRecHit::ConstRecHitPointer
makeShared
(
TrackingRecHit::ConstRecHitPointer
const
&
hit
,
25
TrajectoryStateOnSurface
const
&
tsos
)
const
{
26
return
hit
->canImproveWithTrack() ?
hit
->cloneSH_(*
this
,
tsos
) :
hit
;
27
// return hit->cloneSH(*this, tsos);
28
}
29
#endif
30
31
virtual
std::unique_ptr<SiPixelRecHit>
operator()
(
SiPixelRecHit
const
&
hit
,
32
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
33
virtual
std::unique_ptr<SiStripRecHit2D>
operator()
(
SiStripRecHit2D
const
&
hit
,
34
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
35
virtual
std::unique_ptr<SiStripRecHit1D>
operator()
(
SiStripRecHit1D
const
&
hit
,
36
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
37
virtual
std::unique_ptr<SiStripMatchedRecHit2D>
operator()
(
SiStripMatchedRecHit2D
const
&
hit
,
38
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
39
virtual
std::unique_ptr<ProjectedSiStripRecHit2D>
operator()
(
ProjectedSiStripRecHit2D
const
&
hit
,
40
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
41
virtual
std::unique_ptr<Phase2TrackerRecHit1D>
operator()
(
Phase2TrackerRecHit1D
const
&
hit
,
42
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
43
virtual
std::unique_ptr<VectorHit>
operator()
(
VectorHit
const
&
hit
,
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
44
45
#ifndef __GCCXML__
46
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
SiPixelRecHit
const
&
hit
,
47
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
48
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
SiStripRecHit2D
const
&
hit
,
49
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
50
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
SiStripRecHit1D
const
&
hit
,
51
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
52
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
SiStripMatchedRecHit2D
const
&
hit
,
53
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
54
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
ProjectedSiStripRecHit2D
const
&
hit
,
55
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
56
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
Phase2TrackerRecHit1D
const
&
hit
,
57
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
58
virtual
TrackingRecHit::ConstRecHitPointer
makeShared
(
VectorHit
const
&
hit
,
59
TrajectoryStateOnSurface
const
&
tsos
)
const
= 0;
60
#endif
61
};
62
#endif
SiStripRecHit2D
Definition:
SiStripRecHit2D.h:7
TkCloner::operator
TrackingRecHit * operator()(TrackingRecHit const &hit
watchdog.const
const
Definition:
watchdog.py:83
ProjectedSiStripRecHit2D
Definition:
ProjectedSiStripRecHit2D.h:8
SiPixelRecHit
Our base class.
Definition:
SiPixelRecHit.h:23
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:16
TrackingRecHit.h
TkCloner
Definition:
TkCloner.h:16
CMS_THREAD_SAFE
#define CMS_THREAD_SAFE
Definition:
thread_safety_macros.h:4
TkCloner::~TkCloner
virtual ~TkCloner()
Definition:
TkCloner.h:22
TkCloner::operator()
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
thread_safety_macros.h
TkCloner::tsos
TrackingRecHit TrajectoryStateOnSurface const &const tsos
Definition:
TkCloner.h:18
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition:
TrackingRecHit.h:25
TkCloner::makeShared
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition:
TkCloner.h:24
SiStripRecHit1D
Definition:
SiStripRecHit1D.h:8
TrackingRecHit
Definition:
TrackingRecHit.h:21
VectorHit
Definition:
VectorHit.h:28
SiStripMatchedRecHit2D
Definition:
SiStripMatchedRecHit2D.h:8
hit
Definition:
SiStripHitEffFromCalibTree.cc:88
Phase2TrackerRecHit1D
Definition:
Phase2TrackerRecHit1D.h:10
Generated for CMSSW Reference Manual by
1.8.16