ATLAS Offline Software
Loading...
Searching...
No Matches
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;
14namespace 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
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
static InterfaceID const & interfaceID()
Retrieve interface ID.
virtual std::string const UpperTracksKey() const =0
Return the names of the track collections stored in storeGate.
virtual void splitTracks(TrackCollection const *inputTracks) const =0
Takes a trackCollection, splits them according to upper and lower parts and fills two track collectio...
virtual std::string const LowerTracksKey() const =0
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)
virtual ~IInDetTrackSplitterTool()
Destructor.
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.
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...
Primary Vertex Finder.
static const InterfaceID IID_InDetTrackSplitterTool("InDet::InDetTrackSplitterTool", 1, 0)