ATLAS Offline Software
IInDetTrackSplitterTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IINDETINDETTRACKSPLITTERTOOL_H
6 #define IINDETINDETTRACKSPLITTERTOOL_H
7 
8 // Include files
9 #include "GaudiKernel/IAlgTool.h"
10 #include "TrkTrack/Track.h"
12 
13 //class Identifier;
14 namespace InDet{
15 
16  static const InterfaceID IID_InDetTrackSplitterTool("InDet::InDetTrackSplitterTool", 1, 0);
17 
18  class IInDetTrackSplitterTool : virtual public IAlgTool {
19 
20  public:
23 
25  static InterfaceID const& interfaceID() {return IID_InDetTrackSplitterTool;};
26 
33  virtual void splitTracks(TrackCollection const* inputTracks) const = 0;
34 
45  virtual Trk::Track* stripTrack(Trk::Track const& input, bool removeSilicon = true, bool applyConstraint = true) const =0;
46 
49  virtual std::pair<Trk::Track*, Trk::Track*> splitInUpperLowerTrack(Trk::Track const& input, bool siliconHitsOnly = false) const = 0;
50 
53  virtual std::pair<Trk::Track*, Trk::Track*> splitInOddEvenHitsTrack(Trk::Track const& input) const = 0;
54 
57  virtual std::string const UpperTracksKey() const = 0;
58  virtual std::string const LowerTracksKey() const = 0;
59  };
60 }
61 
62 #endif
63 
InDet::IInDetTrackSplitterTool::UpperTracksKey
virtual std::string const UpperTracksKey() const =0
Return the names of the track collections stored in storeGate.
InDet::IInDetTrackSplitterTool::LowerTracksKey
virtual std::string const LowerTracksKey() const =0
InDet::IInDetTrackSplitterTool::~IInDetTrackSplitterTool
virtual ~IInDetTrackSplitterTool()
Destructor.
Definition: IInDetTrackSplitterTool.h:22
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::IInDetTrackSplitterTool::interfaceID
static InterfaceID const & interfaceID()
Retrieve interface ID.
Definition: IInDetTrackSplitterTool.h:25
InDet::IInDetTrackSplitterTool
Definition: IInDetTrackSplitterTool.h:18
Track.h
InDet::IInDetTrackSplitterTool::stripTrack
virtual Trk::Track * stripTrack(Trk::Track const &input, bool removeSilicon=true, bool applyConstraint=true) const =0
Takes a combined ID track and either 1) if removeSilicon = true Strips off the Si hits.
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:168
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
TrackCollection.h
DataVector< Trk::Track >
InDet::IInDetTrackSplitterTool::splitInOddEvenHitsTrack
virtual std::pair< Trk::Track *, Trk::Track * > splitInOddEvenHitsTrack(Trk::Track const &input) const =0
Splits a single input track into odd and even parts (Not yet implemented)
InDet::IInDetTrackSplitterTool::splitTracks
virtual void splitTracks(TrackCollection const *inputTracks) const =0
Takes a trackCollection, splits them according to upper and lower parts and fills two track collectio...
InDet::IInDetTrackSplitterTool::splitInUpperLowerTrack
virtual std::pair< Trk::Track *, Trk::Track * > splitInUpperLowerTrack(Trk::Track const &input, bool siliconHitsOnly=false) const =0
Splits a single input track into upper and lower parts (based on global y) returns a pair of track th...