CMS 3D CMS Logo

TrajectoryBuilder.h
Go to the documentation of this file.
1 #ifndef TrackingTools_PatternTools_TrajectoryBuilder_h
2 #define TrackingTools_PatternTools_TrajectoryBuilder_h
3 
8 
9 class TrajectorySeed;
10 
19 public:
20  typedef std::vector<Trajectory> TrajectoryContainer;
21  typedef TrajectoryContainer::iterator TrajectoryIterator;
22 
23  virtual ~TrajectoryBuilder(){};
24 
25  virtual TrajectoryContainer trajectories(const TrajectorySeed&) const = 0;
26 
27  virtual void trajectories(const TrajectorySeed& seed, TrajectoryContainer& out) const {
28  TrajectoryContainer&& ret = trajectories(seed);
29  out = std::move(ret);
30  }
31 
35  virtual void rebuildSeedingRegion(const TrajectorySeed&, TrajectoryContainer& result) const {
36  LogDebug("TrajectoryBuilding") << "WARNING: you are using a trajectory builder which is not overloading the "
37  "rebuildSeedingRegion method because there is not an implementation yet: output "
38  "TrajectoryContainer is equal to inputTrajectoryContainer";
39  }
40 
41  virtual void setEvent(const edm::Event& event) const = 0;
42  virtual void unset() const {};
43 };
44 
45 #endif
#define LogDebug(id)
virtual void setEvent(const edm::Event &event) const =0
virtual void rebuildSeedingRegion(const TrajectorySeed &, TrajectoryContainer &result) const
ret
prodAgent to be discontinued
virtual TrajectoryContainer trajectories(const TrajectorySeed &) const =0
std::vector< Trajectory > TrajectoryContainer
virtual void trajectories(const TrajectorySeed &seed, TrajectoryContainer &out) const
virtual void unset() const
virtual ~TrajectoryBuilder()
TrajectoryContainer::iterator TrajectoryIterator
def move(src, dest)
Definition: eostools.py:511
Definition: event.py:1