ATLAS Offline Software
ITrackTruthClassifier.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ITrackTruthClassifier.h
7 // Header file for interface for TruthClassificationTool
9 // (c) ATLAS Detector software
11 
12 #ifndef TRK_ITRACKTRUTHCLASSIFIER_H
13 #define TRK_ITRACKTRUTHCLASSIFIER_H
14 
15 #include <vector>
16 #include <string>
17 #include "GaudiKernel/IAlgTool.h"
18 
19 class McEventCollection;
21 
22 namespace Trk {
23  static const InterfaceID IID_ITrackTruthClassifier("ITrackTruthClassifier",1,0);
24 
29 class ITrackTruthClassifier : virtual public IAlgTool {
30  public:
32  static const InterfaceID& interfaceID();
33 
36  const std::vector<HepMC::ConstGenParticlePtr>*) const=0;
37 
38  virtual unsigned int classify(HepMC::ConstGenParticlePtr) const = 0;
39 
40  virtual std::string nameOfClassifier() const = 0;
41 
42  virtual std::string classificationAsString(const unsigned int) const = 0;
43 
44  virtual unsigned int numberOfClassifiers() const = 0;
45 
46  };
47 
48 inline const InterfaceID& Trk::ITrackTruthClassifier::interfaceID() {
49  return IID_ITrackTruthClassifier;
50 }
51 
52 } // end namespace
53 #endif
Trk::ITrackTruthClassifier::numberOfClassifiers
virtual unsigned int numberOfClassifiers() const =0
Trk::ITrackTruthClassifier::nameOfClassifier
virtual std::string nameOfClassifier() const =0
Trk::ITrackTruthClassifier::initClassification
virtual void initClassification(const McEventCollection &, const std::vector< HepMC::ConstGenParticlePtr > *) const =0
explain
GenParticle_fwd.h
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrackTruthClassifier::interfaceID
static const InterfaceID & interfaceID()
Interface ID, declared here, and defined below.
Definition: ITrackTruthClassifier.h:48
Trk::ITrackTruthClassifier
provides the interface for tools which classify gen particles
Definition: ITrackTruthClassifier.h:29
Trk::ITrackTruthClassifier::classificationAsString
virtual std::string classificationAsString(const unsigned int) const =0
Trk::ITrackTruthClassifier::classify
virtual unsigned int classify(HepMC::ConstGenParticlePtr) const =0