ATLAS Offline Software
Loading...
Searching...
No Matches
TruthEventBase_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TruthEventBase_v1.h 622193 2014-10-16 16:08:34Z krasznaa $
8#ifndef XAODTRUTH_VERSIONS_TRUTHEVENTBASE_V1_H
9#define XAODTRUTH_VERSIONS_TRUTHEVENTBASE_V1_H
10
11// System include(s):
12#include <vector>
13
14// EDM include(s):
16#include "AthLinks/ElementLink.h"
17#include "xAODBase/ObjectType.h"
18
19// Local include(s):
22
23namespace xAOD {
24
37
38 public:
42 virtual ~TruthEventBase_v1() {}
43
46
50 typedef std::vector< TruthParticleLink_t > TruthParticleLinks_t;
51
57 size_t nTruthParticles() const;
59 const TruthParticleLink_t& truthParticleLink( size_t index ) const;
61 const TruthParticle* truthParticle( size_t index ) const;
63 void addTruthParticleLink( const TruthParticleLink_t& plink );
66
68
71
75 typedef std::vector< TruthVertexLink_t > TruthVertexLinks_t;
76
82 size_t nTruthVertices() const;
84 const TruthVertexLink_t& truthVertexLink( size_t index ) const;
86 const TruthVertex* truthVertex( size_t index ) const;
88 void addTruthVertexLink( const TruthVertexLink_t& vlink );
91
93
95 virtual Type::ObjectType type() const = 0;
96
98 void toPersistent();
99
100 }; // class TruthEventBase_v1
101
102} // namespace xAOD
103
104// Declare the base class of TruthEventBase_v1 to StoreGate:
105#include "xAODCore/BaseInfo.h"
107
108#endif // XAODTRUTH_VERSIONS_TRUTHEVENTBASE_V1_H
Base class for elements of a container that can have aux data.
#define SG_BASE(D, B)
Declare that class D derives from class B.
Base class for elements of a container that can have aux data.
Definition AuxElement.h:483
Base class describing a pile-up or signal truth event in the MC record.
void clearTruthParticleLinks()
Remove all truth particles.
const TruthParticle * truthParticle(size_t index) const
Get a pointer to one of the truth particles.
ElementLink< TruthParticleContainer > TruthParticleLink_t
Type of a single truth particle link.
const TruthParticleLinks_t & truthParticleLinks() const
Get all the truth particles.
ElementLink< TruthVertexContainer > TruthVertexLink_t
Type of a single truth vertex link.
size_t nTruthParticles() const
Get the number of truth particles.
TruthEventBase_v1()
Default constructor.
const TruthVertex * truthVertex(size_t index) const
Get a pointer to one of the truth vertices.
const TruthVertexLink_t & truthVertexLink(size_t index) const
Get the link to one of the truth vertices.
void addTruthVertexLink(const TruthVertexLink_t &vlink)
Add one truth vertex.
virtual ~TruthEventBase_v1()
Virtual destructor, to make vtable happy.
void toPersistent()
Function making sure that the object is ready for persistification.
virtual Type::ObjectType type() const =0
The type of the object as a simple enumeration.
void setTruthVertexLinks(const TruthVertexLinks_t &links)
Set all the truth vertices.
std::vector< TruthVertexLink_t > TruthVertexLinks_t
Type of the truth particle links vector.
std::vector< TruthParticleLink_t > TruthParticleLinks_t
Type of the truth particle links vector.
void setTruthParticleLinks(const TruthParticleLinks_t &plinks)
Set all the truth particles.
const TruthVertexLinks_t & truthVertexLinks() const
Get all the truth vertices.
void addTruthParticleLink(const TruthParticleLink_t &plink)
Add one truth particle.
const TruthParticleLink_t & truthParticleLink(size_t index) const
Get the link to one of the truth particles.
void clearTruthVertexLinks()
Remove all truth vertices.
size_t nTruthVertices() const
Get the number of truth vertices.
Definition index.py:1
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition TruthVertex.h:15
TruthParticle_v1 TruthParticle
Typedef to implementation.