CMS 3D CMS Logo

TrackingRecHitPipe.h
Go to the documentation of this file.
1 #ifndef FastSimulation_TrackingRecHitProducer_TrackingRecHitPipe_H
2 #define FastSimulation_TrackingRecHitProducer_TrackingRecHitPipe_H
3 
6 
7 #include <vector>
8 
10 {
11  protected:
12  std::vector<TrackingRecHitAlgorithm*> _algorithms;
13 
14  public:
16  {
17  }
18 
20  {
21  for (unsigned int ialgo = 0; product && (ialgo < _algorithms.size()); ++ialgo)
22  {
23  product = _algorithms[ialgo]->process(product);
24  }
25  return product;
26  }
27 
28  inline unsigned int size() const
29  {
30  return _algorithms.size();
31  }
32 
34  {
35  _algorithms.push_back(algorithm);
36  }
37 
38 };
39 
40 #endif
41 
std::vector< TrackingRecHitAlgorithm * > _algorithms
void addAlgorithm(TrackingRecHitAlgorithm *algorithm)
unsigned int size() const
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
TrackingRecHitProductPtr produce(TrackingRecHitProductPtr product) const