Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
Vertex.h
Go to the documentation of this file.
1
8#ifndef PANDORA_VERTEX_H
9#define PANDORA_VERTEX_H 1
10
12#include "Pandora/StatusCodes.h"
13
14namespace pandora
15{
16
17template<typename T> class AlgorithmObjectManager;
18template<typename T, typename S> class PandoraObjectFactory;
19
20//------------------------------------------------------------------------------------------------------------------------------------------
21
25class Vertex
26{
27public:
33 const CartesianVector &GetPosition() const;
34
40 float GetX0() const;
41
48
55
61 bool IsAvailable() const;
62
63protected:
70
74 virtual ~Vertex();
75
82
88 void SetAvailability(bool isAvailable);
89
91 float m_x0;
95
96 friend class VertexManager;
97 friend class AlgorithmObjectManager<Vertex>;
99};
100
101//------------------------------------------------------------------------------------------------------------------------------------------
102
104{
105 return m_position;
106}
107
108//------------------------------------------------------------------------------------------------------------------------------------------
109
110inline float Vertex::GetX0() const
111{
112 return m_x0;
113}
114
115//------------------------------------------------------------------------------------------------------------------------------------------
116
118{
119 return m_vertexLabel;
120}
121
122//------------------------------------------------------------------------------------------------------------------------------------------
123
125{
126 return m_vertexType;
127}
128
129//------------------------------------------------------------------------------------------------------------------------------------------
130
131inline bool Vertex::IsAvailable() const
132{
133 return m_isAvailable;
134}
135
136//------------------------------------------------------------------------------------------------------------------------------------------
137
138inline void Vertex::SetAvailability(bool isAvailable)
139{
140 m_isAvailable = isAvailable;
141}
142
143} // namespace pandora
144
145#endif // #ifndef PANDORA_VERTEX_H
Header file for pandora object creation classes.
Header file defining status codes and relevant preprocessor macros.
AlgorithmObjectManager class.
CartesianVector class.
PandoraObjectFactory class.
Vertex class.
Definition Vertex.h:26
VertexLabel m_vertexLabel
The vertex label (interaction, start, end, etc.)
Definition Vertex.h:92
float m_x0
For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.
Definition Vertex.h:91
virtual ~Vertex()
Destructor.
Definition Vertex.cc:25
VertexType GetVertexType() const
Get the vertex type.
Definition Vertex.h:124
StatusCode AlterMetadata(const object_creation::Vertex::Metadata &metadata)
Alter the metadata information stored in a vertex.
Definition Vertex.cc:31
VertexType m_vertexType
The vertex type (3d, view u, v, w, etc.)
Definition Vertex.h:93
CartesianVector m_position
The vertex position.
Definition Vertex.h:90
const CartesianVector & GetPosition() const
Get the vertex position.
Definition Vertex.h:103
VertexLabel GetVertexLabel() const
Get the vertex label.
Definition Vertex.h:117
bool m_isAvailable
Whether the track is available to be added to a particle flow object.
Definition Vertex.h:94
void SetAvailability(bool isAvailable)
Set availability of vertex to be added to a particle flow object.
Definition Vertex.h:138
float GetX0() const
For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.
Definition Vertex.h:110
bool IsAvailable() const
Whether the vertex is available to be added to a particle flow object.
Definition Vertex.h:131
VertexManager class.
VertexLabel
Vertex label enum.
StatusCode
The StatusCode enum.
VertexType
Vertex type enum.