ATLAS Offline Software
AthExFatObject.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // AthExFatObject.h
8 // Header file for class AthExFatObject
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHEXTHINNING_ATHEXFATOBJECT_H
12 #define ATHEXTHINNING_ATHEXFATOBJECT_H 1
13 
14 // STL includes
15 #include <iosfwd>
16 
17 // AthExThinning includes
19 
20 // datamodel
21 #include "AthenaKernel/CLASS_DEF.h"
22 #include "AthLinks/ElementLink.h"
23 
24 // Forward declaration
25 class AthExFatObjectSlimmer;
26 
27 
29 {
30  // for slimming
31  friend class AthExFatObjectSlimmer;
32 
33  // Make the AthenaPoolCnv class our friend
34  friend class AthExFatObjectCnv_p1;
35 
37  // Public typedefs:
39 public:
41 
43  // Public methods:
45 public:
46 
49 
51  AthExFatObject( const AthExFatObject& rhs );
52 
54  AthExFatObject& operator=( const AthExFatObject& rhs );
55 
58 
60  virtual ~AthExFatObject();
61 
63  // Const methods:
65 
68  const AthExParticle* particle() const { return m_particle; }
69 
72  const AthExParticleLink_t& particleLink() const { return m_particleLink; }
73 
75  // Non-const methods:
77 
80  void setLink (const AthExParticleLink_t& link);
81 
83  // Private data:
85 private:
86 
90 
94 };
95 
96 
97 // for storegate
98 CLASS_DEF( AthExFatObject , 166093780 , 1 )
99 
100 #endif //> !ATHEXTHINNING_ATHEXFATOBJECT_H
AthExFatObject::AthExFatObject
AthExFatObject()
Default constructor:
Definition: AthExFatObject.cxx:26
AthExFatObject::AthExFatObjectSlimmer
friend class AthExFatObjectSlimmer
Definition: AthExFatObject.h:31
AthExFatObject::particle
const AthExParticle * particle() const
raw pointer access
Definition: AthExFatObject.h:68
AthExFatObject::particleLink
const AthExParticleLink_t & particleLink() const
element link access
Definition: AthExFatObject.h:72
AthExFatObject::~AthExFatObject
virtual ~AthExFatObject()
Destructor:
Definition: AthExFatObject.cxx:53
AthExFatObject::AthExParticleLink_t
ElementLink< AthExParticles > AthExParticleLink_t
Definition: AthExFatObject.h:40
AthExFatObject::operator=
AthExFatObject & operator=(const AthExFatObject &rhs)
Assignment operator:
Definition: AthExFatObject.cxx:37
AthExParticles.h
AthExFatObject::m_particleLink
AthExParticleLink_t m_particleLink
a persistable pointer to an AthExParticle
Definition: AthExFatObject.h:93
AthExFatObjectCnv_p1
Definition: AthExFatObjectCnv_p1.h:39
AthExFatObject::setLink
void setLink(const AthExParticleLink_t &link)
set the internals of the fat object
Definition: AthExFatObject.cxx:63
AthExFatObject
Definition: AthExFatObject.h:29
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
AthExParticle
Definition: AthExParticle.h:24
CLASS_DEF.h
macros to associate a CLID to a type
AthExFatObject::m_particle
const AthExParticle * m_particle
a raw pointer to an AthExParticle
Definition: AthExFatObject.h:89