ATLAS Offline Software
RingerKnownParticles.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 // $Id: RingerKnownParticles.h 732386 2016-03-25 03:21:48Z ssnyder $
6 #ifndef CALORINGERTOOLS_RINGERKNOWNPARTICLES_H
7 #define CALORINGERTOOLS_RINGERKNOWNPARTICLES_H
8 
9 #if 0
10 #ifndef INCLUDE_HEADER_ONLY
11 #define INCLUDE_HEADER_ONLY
12 #endif
13 #include "CaloRingerReaderUtils.h"
14 #undef INCLUDE_HEADER_ONLY
15 #endif
16 
17 // Add the particles
18 #include "xAODEgamma/Electron.h"
19 #include "xAODEgamma/Photon.h"
20 
21 namespace Ringer {
33 template < typename particle_t > struct GetParticleProp;
34 } // End of namespace Ringer
35 
42 #define DECLARE_RINGER_KNOWN_PARTICLE( _name, _hasCluster ) \
43  namespace Ringer { \
44  template < > struct GetParticleProp< _name > { \
45  static constexpr const char *name = #_name; \
46  static constexpr bool hasCluster = _hasCluster; \
47  };\
48  }
49 
50 // Declare Ringer known particles:
53 
54 // Ringer can be run with IParticles, but it won't use cluster information
55 // since it is not available:
57 
58 #undef DECLARE_RINGER_KNOWN_PARTICLE
59 
60 #endif // CALORINGERTOOLS_RINGERKNOWNPARTICLES_H
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
Photon
Class describing an photon
Photon.h
CaloRingerReaderUtils.h
xAOD::Electron_v1
Definition: Electron_v1.h:34
Ringer::GetParticleProp
template to get particle_t name and if it has cluster access.
Definition: RingerKnownParticles.h:33
DECLARE_RINGER_KNOWN_PARTICLE
#define DECLARE_RINGER_KNOWN_PARTICLE(_name, _hasCluster)
macro for declaring particles known to Ringer algorithm.
Definition: RingerKnownParticles.h:42
Electron.h
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
Ringer
Namespace dedicated for Ringer utilities.
Definition: CaloRingsDefs.h:9