ATLAS Offline Software
SimSvcID.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 // SimSvcID.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_EVENT_SIMSVCID_H
10 #define ISF_EVENT_SIMSVCID_H 1
11 
12 
13 // Gaudi Kernel
14 #include "GaudiKernel/MsgStream.h"
15 
16 // use these macros to check a given SimSvcID for its validity
17 #define validSimID(simID) ( (simID<ISF::fMaxNumAtlasSimIDs) && (simID>=ISF::fFirstAtlasSimID) )
18 #define assertSimID(simID) ( assert(validSimGeoID(simID)) )
19 
20 namespace ISF {
21 
28  typedef uint8_t SimSvcID;
29 
30  enum SimSvcIDs {
31  // Not yet set, not decided
33  // Event Generator (not actually a simulator per se but may be used for routing decisions)
35  // to be used for space allocation (e.g. simulator arrays)
37 
38  // to be used to allocate space (e.g. simulator arrays)
40  };
41 
43  inline MsgStream& operator << ( MsgStream& sl, const SimSvcID& id) { sl << (int)(id); return sl; }
44  inline std::ostream& operator << ( std::ostream& sl, const SimSvcID& id) { sl << (int)(id) ; return sl; }
45 
46 } // end of namespace
47 
48 #endif // ISF_EVENT_SIMSVCID_H
ISF::SimSvcIDs
SimSvcIDs
Definition: SimSvcID.h:30
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
ISF::operator<<
MsgStream & operator<<(MsgStream &sl, const ISF::ISFParticle &isfp)
Definition: ISFParticle.h:210
ISF::SimSvcID
uint8_t SimSvcID
Simulation service ID datatype.
Definition: SimSvcID.h:28
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
ISF::fEventGeneratorSimID
@ fEventGeneratorSimID
Definition: SimSvcID.h:34
ISF::fUndefinedSimID
@ fUndefinedSimID
Definition: SimSvcID.h:32
ISF::fMaxNumAtlasSimIDs
@ fMaxNumAtlasSimIDs
Definition: SimSvcID.h:39
ISF::fFirstAtlasSimID
@ fFirstAtlasSimID
Definition: SimSvcID.h:36