ATLAS Offline Software
Loading...
Searching...
No Matches
IDetailedMuonPatternTruthBuilder.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 IDETAILEDMUONPATTERNTRUTHBUILDER_H
6#define IDETAILEDMUONPATTERNTRUTHBUILDER_H
7
8#include <vector>
9
10#include "GaudiKernel/IAlgTool.h"
16#include "TrkTrack/TrackCollection.h" /* forward declaring the typedef would be ugly.. */
18
19// Forard declarations of types.
22class DetailedSegmentTruthCollection;
23
24namespace Trk {
25
26 static const InterfaceID IID_IDetailedMuonPatternTruthBuilder("Trk::IDetailedMuonPatternTruthBuilder", 1, 0);
27
31 class IDetailedMuonPatternTruthBuilder : virtual public IAlgTool {
32 public:
33 static const InterfaceID& interfaceID() { return IID_IDetailedMuonPatternTruthBuilder; }
34
48 const std::vector<const PRD_MultiTruthCollection*>& prdTruth) = 0;
49
50 virtual void buildDetailedTrackTruth(std::vector<DetailedTrackTruth>* output, const Muon::MuonPatternCombination& pattern,
51 const std::vector<const PRD_MultiTruthCollection*>& prdTruth) = 0;
52
53 virtual void buildDetailedTrackTruthFromSegments(std::vector<DetailedSegmentTruth>* output, const Muon::MuonSegment& segment,
54 const std::vector<const PRD_MultiTruthCollection*>& prdTruth) = 0;
55 };
56
57} // namespace Trk
58
59#endif /*IDETAILEDMUONPATTERNTRUTHBUILDER_H*/
DataVector< Muon::MuonPatternCombination > MuonPatternCombinationCollection
This typedef represents a collection of MuonPatternCombination objects.
The MuonPatternCombination class provides the means to store the output of the initial global pattern...
This is the common class for 3D segments used in the muon spectrometer.
A PRD is mapped onto all contributing particles.
Provides interface for tool to return a "detailed" track truth map.
virtual void buildDetailedTrackTruth(std::vector< DetailedTrackTruth > *output, const Muon::MuonPatternCombination &pattern, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
virtual void buildDetailedTrackTruthFromSegments(std::vector< DetailedSegmentTruth > *output, const Muon::MuonSegment &segment, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
virtual void buildDetailedMuonPatternTruth(DetailedMuonPatternTruthCollection *output, const MuonPatternCombinationCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
The main tool method.
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_IDetailedMuonPatternTruthBuilder("Trk::IDetailedMuonPatternTruthBuilder", 1, 0)