ATLAS Offline Software
ThinningDecision.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  * Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
4  */
13 #ifndef ATHCONTAINERS_THINNINGDECISION_H
14 #define ATHCONTAINERS_THINNINGDECISION_H
15 #ifndef XAOD_STANDALONE
16 
17 
19 #include "AthLinks/DataLink.h"
21 #include "AthenaKernel/CLASS_DEF.h"
22 #include "AthenaKernel/ILockable.h"
23 #include <vector>
24 #include <string>
25 
26 
27 namespace SG {
28 
29 
39  : public ThinningDecisionBase, public ILockable
40 {
41 public:
49 
50 
57  ThinningDecision (const std::string& key);
58 
59 
63  const DataLink<SG::AuxVectorBase>& link() const;
64 
65 
71  virtual void lock() override;
72 
73 
74 private:
77 };
78 
79 
80 } // namespace SG
81 
82 
83 CLASS_DEF( SG::ThinningDecision, 74079355, 1 )
84 
85 
86 #endif // XAOD_STANDALONE
87 #endif // not ATHCONTAINERS_THINNINGDECISION_H
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::ThinningDecisionBase
Hold thinning decisions for one container.
Definition: ThinningDecisionBase.h:39
SG::ThinningDecision::m_link
DataLink< SG::AuxVectorBase > m_link
Link to the object being thinned.
Definition: ThinningDecision.h:76
ILockable.h
Interface to allow an object to lock itself when made const in SG.
ThinningDecisionBase.h
Hold thinning decisions for one container.
AuxVectorBase.h
Manage index tracking and synchronization of auxiliary data.
SG::ThinningDecision::lock
virtual void lock() override
Called when the object is locked in SG.
Definition: ThinningDecision.cxx:60
SG::ThinningDecision::link
const DataLink< SG::AuxVectorBase > & link() const
Return link to object being thinned.
Definition: ThinningDecision.cxx:49
SG::ThinningDecision
Hold thinning decisions for one container.
Definition: ThinningDecision.h:40
SG::ThinningDecision::ThinningDecision
ThinningDecision(const DataLink< SG::AuxVectorBase > &link)
Constructor.
Definition: ThinningDecision.cxx:24
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
ILockable
Interface to allow an object to lock itself when made const in SG.
Definition: ILockable.h:32
CLASS_DEF.h
macros to associate a CLID to a type
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37