ATLAS Offline Software
Loading...
Searching...
No Matches
IParticlePropertyTool.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// IParticlePropertyTool.h, (c) ATLAS Detector Software
8
9#ifndef FATRASINTERFACES_IPARTICLEPROPERTYTOOL_H
10#define FATRASINTERFACES_IPARTICLEPROPERTYTOOL_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14
15// STL
16#include <vector>
17#include <string>
18
19namespace iFatras
20{
21
30
31 class IParticlePropertyTool : virtual public IAlgTool
32 {
33 public:
34
37
40
41 virtual std::vector<std::pair<int,std::string> >
42 listOfParticles() const=0;
43
46 virtual StatusCode
47 basicInfo( int pdgCode, int* charge=0, double* mass=0) const = 0;
48 };
49
50}
51#endif // FATRASINTERFACES_IPARTICLEPROPERTYTOOL_H
double charge(const T &p)
Definition AtlasPID.h:997
Interface definition for a tool responsible for retrieving particle properties.
DeclareInterfaceID(IParticlePropertyTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual std::vector< std::pair< int, std::string > > listOfParticles() const =0
virtual StatusCode basicInfo(int pdgCode, int *charge=0, double *mass=0) const =0
retrieve basic information of the particle (charge sign and mass in MeV)
virtual ~IParticlePropertyTool()
Virtual destructor.