Belle II Software  release-08-01-10
PXDCluster.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/datastore/RelationsObject.h>
12 #include <vxd/dataobjects/VxdID.h>
13 #include <vector>
14 
15 
16 namespace Belle2 {
30  class PXDCluster: public RelationsObject {
31  public:
32 
37  m_clsSize(0), m_uSize(0), m_vSize(0), m_uStart(0), m_vStart(0),
38  m_clsKind(0) {}
39 
55  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
56  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
57  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
58  unsigned short uStart, unsigned short vStart):
59  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
60  m_uPositionSigma(uError), m_vPositionSigma(vError),
61  m_uvRho(uvRho), m_clsCharge(clsCharge),
62  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
63  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(0)
64  {}
65 
82  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
83  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
84  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
85  unsigned short uStart, unsigned short vStart, int clsKind):
86  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
87  m_uPositionSigma(uError), m_vPositionSigma(vError),
88  m_uvRho(uvRho), m_clsCharge(clsCharge),
89  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
90  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind)
91  {}
92 
111  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
112  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
113  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
114  unsigned short uStart, unsigned short vStart, int clsKind, const std::vector<float>& etaValues,
115  const std::vector<int>& shapeIndices):
116  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
117  m_uPositionSigma(uError), m_vPositionSigma(vError),
118  m_uvRho(uvRho), m_clsCharge(clsCharge),
119  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
120  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind), m_etaValues(etaValues), m_shapeIndices(shapeIndices)
121  {}
122 
126  VxdID getSensorID() const { return m_sensorID; }
127 
131  float getU() const { return m_uPosition; }
132 
136  float getV() const { return m_vPosition; }
137 
141  float getUSigma() const { return m_uPositionSigma; }
142 
146  float getVSigma() const { return m_vPositionSigma; }
147 
151  float getRho() const { return m_uvRho; }
152 
156  unsigned short getCharge() const { return m_clsCharge; }
157 
161  unsigned short getSeedCharge() const { return m_seedCharge; }
162 
166  unsigned short getSize() const { return m_clsSize; }
167 
171  unsigned short getUSize() const { return m_uSize; }
172 
176  unsigned short getVSize() const { return m_vSize; }
177 
181  unsigned short getUStart() const { return m_uStart; }
182 
186  unsigned short getVStart() const { return m_vStart; }
187 
191  int getKind() const { return m_clsKind; }
192 
197  short getShape() const { return 0; }
198 
201  void setKind(short NewClsKind) { m_clsKind = NewClsKind; }
202 
205  void setU(float NewuPosition) { m_uPosition = NewuPosition; }
206 
209  void setV(float NewvPosition) { m_vPosition = NewvPosition; }
210 
213  void setUSigma(float NewuError) { m_uPositionSigma = NewuError; }
214 
217  void setVSigma(float NewvError) { m_vPositionSigma = NewvError; }
218 
221  void setRho(float NewRho) { m_uvRho = NewRho; }
222 
225  const std::vector<int>& getSectorShapeIndices() const { return m_shapeIndices; }
226 
229  std::vector<int>& getSectorShapeIndices() { return m_shapeIndices; }
230 
233  const std::vector<float>& getSectorEtaValues() const { return m_etaValues; }
234 
237  std::vector<float>& getSectorEtaValues() { return m_etaValues; }
238 
239  protected:
240  unsigned short m_sensorID;
241  float m_uPosition;
242  float m_vPosition;
245  float m_uvRho;
246  unsigned short m_clsCharge;
247  unsigned short m_seedCharge;
248  unsigned short m_clsSize;
249  unsigned short m_uSize;
250  unsigned short m_vSize;
251  unsigned short m_uStart;
252  unsigned short m_vStart;
253  int m_clsKind;
254  std::vector<float> m_etaValues;
255  std::vector<int> m_shapeIndices;
258  ClassDef(PXDCluster, 5)
259  };
260 
261 
263 } //Belle2 namespace
The PXD Cluster class This class stores all information about reconstructed PXD clusters The position...
Definition: PXDCluster.h:30
float getV() const
Get v coordinate of hit position.
Definition: PXDCluster.h:136
void setKind(short NewClsKind)
Set cluster kind.
Definition: PXDCluster.h:201
const std::vector< float > & getSectorEtaValues() const
Get vector of sector eta values.
Definition: PXDCluster.h:233
float getUSigma() const
Get error of u coordinate of hit position.
Definition: PXDCluster.h:141
float m_vPosition
Absolute cell position in z.
Definition: PXDCluster.h:242
unsigned short m_clsSize
Cluster size in pixels.
Definition: PXDCluster.h:248
float m_uPositionSigma
Error in u position.
Definition: PXDCluster.h:243
unsigned short getSeedCharge() const
Get seed charge.
Definition: PXDCluster.h:161
float getVSigma() const
Get error in v coordinate of hit position.
Definition: PXDCluster.h:146
unsigned short m_uSize
Cluster size in pixel columns.
Definition: PXDCluster.h:249
unsigned short m_sensorID
Compressed sensor identifier.
Definition: PXDCluster.h:240
unsigned short getVSize() const
Get cluster size in v direction.
Definition: PXDCluster.h:176
float m_uPosition
Absolute cell position in r-phi.
Definition: PXDCluster.h:241
unsigned short m_vSize
Cluster size in pixel rows
Definition: PXDCluster.h:250
unsigned short getSize() const
Get cluster size.
Definition: PXDCluster.h:166
unsigned short getCharge() const
Get collected charge.
Definition: PXDCluster.h:156
int m_clsKind
Cluster kind.
Definition: PXDCluster.h:253
float getRho() const
Get hit position error covariance coefficient.
Definition: PXDCluster.h:151
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart)
Constructor.
Definition: PXDCluster.h:55
std::vector< int > & getSectorShapeIndices()
Get vector of sector shape indices.
Definition: PXDCluster.h:229
unsigned short m_vStart
Start row of the cluster.
Definition: PXDCluster.h:252
unsigned short getUSize() const
Get cluster size in u direction.
Definition: PXDCluster.h:171
float m_vPositionSigma
Error in v position.
Definition: PXDCluster.h:244
unsigned short m_clsCharge
Deposited charge in ADC units.
Definition: PXDCluster.h:246
PXDCluster()
Default constructor for the ROOT IO.
Definition: PXDCluster.h:34
std::vector< float > m_etaValues
Vector of eta values for four angle sectors.
Definition: PXDCluster.h:254
void setV(float NewvPosition)
Set v coordinate of hit position.
Definition: PXDCluster.h:209
VxdID getSensorID() const
Get the sensor ID.
Definition: PXDCluster.h:126
unsigned short getVStart() const
Get cluster start cell in v direction.
Definition: PXDCluster.h:186
short getShape() const
Get cluster kind.
Definition: PXDCluster.h:197
void setRho(float NewRho)
Set error covariance coefficient of hit position.
Definition: PXDCluster.h:221
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart, int clsKind, const std::vector< float > &etaValues, const std::vector< int > &shapeIndices)
Constructor for who want to add also cluster kind, shape indices and eta values in one step.
Definition: PXDCluster.h:111
unsigned short m_uStart
Start column of the cluster.
Definition: PXDCluster.h:251
int getKind() const
Get cluster kind.
Definition: PXDCluster.h:191
void setUSigma(float NewuError)
Set error of u coordinate of hit position.
Definition: PXDCluster.h:213
unsigned short m_seedCharge
Cluster seed charge in ADC units.
Definition: PXDCluster.h:247
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart, int clsKind)
Constructor for who want to add also cluster kind in one step.
Definition: PXDCluster.h:82
float getU() const
Get u coordinate of hit position.
Definition: PXDCluster.h:131
float m_uvRho
Cluster shape correlation.
Definition: PXDCluster.h:245
void setU(float NewuPosition)
Set u coordinate of hit position.
Definition: PXDCluster.h:205
std::vector< float > & getSectorEtaValues()
Get vector of sector eta values.
Definition: PXDCluster.h:237
void setVSigma(float NewvError)
Set error in v coordinate of hit position.
Definition: PXDCluster.h:217
const std::vector< int > & getSectorShapeIndices() const
Get vector of sector shape indices.
Definition: PXDCluster.h:225
unsigned short getUStart() const
Get cluster start cell in u direction.
Definition: PXDCluster.h:181
std::vector< int > m_shapeIndices
Vector of shape indices for four angle sectors.
Definition: PXDCluster.h:255
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.