FastSimulation
TrackingRecHitProducer
interface
TrackingRecHitPipe.h
Go to the documentation of this file.
1
#ifndef FastSimulation_TrackingRecHitProducer_TrackingRecHitPipe_H
2
#define FastSimulation_TrackingRecHitProducer_TrackingRecHitPipe_H
3
4
#include "
FastSimulation/TrackingRecHitProducer/interface/TrackingRecHitAlgorithm.h
"
5
#include "
FastSimulation/TrackingRecHitProducer/interface/TrackingRecHitProduct.h
"
6
7
#include <vector>
8
9
class
TrackingRecHitPipe
{
10
protected
:
11
std::vector<TrackingRecHitAlgorithm*>
_algorithms
;
12
13
public
:
14
TrackingRecHitPipe
() {}
15
16
TrackingRecHitProductPtr
produce
(
TrackingRecHitProductPtr
product)
const
{
17
for
(
unsigned
int
ialgo = 0; product && (ialgo <
_algorithms
.size()); ++ialgo) {
18
product =
_algorithms
[ialgo]->process(product);
19
}
20
return
product;
21
}
22
23
inline
unsigned
int
size
()
const
{
return
_algorithms
.size(); }
24
25
inline
void
addAlgorithm
(
TrackingRecHitAlgorithm
*
algorithm
) {
_algorithms
.push_back(
algorithm
); }
26
};
27
28
#endif
TrackingRecHitPipe::TrackingRecHitPipe
TrackingRecHitPipe()
Definition:
TrackingRecHitPipe.h:14
TrackingRecHitProduct.h
TrackingRecHitPipe
Definition:
TrackingRecHitPipe.h:9
TrackingRecHitProductPtr
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
Definition:
TrackingRecHitProduct.h:47
TrackingRecHitPipe::addAlgorithm
void addAlgorithm(TrackingRecHitAlgorithm *algorithm)
Definition:
TrackingRecHitPipe.h:25
TrackingRecHitPipe::_algorithms
std::vector< TrackingRecHitAlgorithm * > _algorithms
Definition:
TrackingRecHitPipe.h:11
qcdUeDQM_cfi.algorithm
algorithm
Definition:
qcdUeDQM_cfi.py:32
TrackingRecHitPipe::size
unsigned int size() const
Definition:
TrackingRecHitPipe.h:23
TrackingRecHitAlgorithm.h
TrackingRecHitAlgorithm
Definition:
TrackingRecHitAlgorithm.h:26
TrackingRecHitPipe::produce
TrackingRecHitProductPtr produce(TrackingRecHitProductPtr product) const
Definition:
TrackingRecHitPipe.h:16
Generated for CMSSW Reference Manual by
1.8.16