ATLAS Offline Software
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.
22 class DetailedSegmentTruthCollection;
23 
24 namespace 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*/
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
Trk::IDetailedMuonPatternTruthBuilder::buildDetailedTrackTruth
virtual void buildDetailedTrackTruth(std::vector< DetailedTrackTruth > *output, const Muon::MuonPatternCombination &pattern, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
DetailedSegmentTruth.h
PRD_MultiTruthCollection
A PRD is mapped onto all contributing particles.
Definition: PRD_MultiTruthCollection.h:24
DetailedMuonPatternTruthCollection
Definition: DetailedMuonPatternTruthCollection.h:21
DetailedMuonPatternTruthCollection.h
Trk::IDetailedMuonPatternTruthBuilder::buildDetailedTrackTruthFromSegments
virtual void buildDetailedTrackTruthFromSegments(std::vector< DetailedSegmentTruth > *output, const Muon::MuonSegment &segment, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
Trk::IDetailedMuonPatternTruthBuilder::buildDetailedMuonPatternTruth
virtual void buildDetailedMuonPatternTruth(DetailedMuonPatternTruthCollection *output, const MuonPatternCombinationCollection &tracks, const std::vector< const PRD_MultiTruthCollection * > &prdTruth)=0
The main tool method.
TrackCollection.h
MuonPatternCombination.h
MuonPatternCombinationCollection.h
DataVector< Muon::MuonPatternCombination >
merge.output
output
Definition: merge.py:17
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IDetailedMuonPatternTruthBuilder
Provides interface for tool to return a "detailed" track truth map.
Definition: IDetailedMuonPatternTruthBuilder.h:31
MuonPatternCollection.h
MuonSegment.h
DetailedTrackTruthCollection
Definition: DetailedTrackTruthCollection.h:20
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
Muon::MuonPatternCombination
The MuonPatternCombination class provides the means to store the output of the initial global pattern...
Definition: MuonPatternCombination.h:29
Trk::IDetailedMuonPatternTruthBuilder::interfaceID
static const InterfaceID & interfaceID()
Definition: IDetailedMuonPatternTruthBuilder.h:33
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5