Belle II Software  release-05-02-19
PXDCluster.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef PXDCLUSTER_H
12 #define PXDCLUSTER_H
13 
14 #include <framework/datastore/RelationsObject.h>
15 #include <vxd/dataobjects/VxdID.h>
16 #include <vector>
17 
18 
19 namespace Belle2 {
33  class PXDCluster: public RelationsObject {
34  public:
35 
37  PXDCluster():
40  m_clsSize(0), m_uSize(0), m_vSize(0), m_uStart(0), m_vStart(0),
41  m_clsKind(0) {}
42 
56  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
57  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
58  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
59  unsigned short uStart, unsigned short vStart):
60  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
61  m_uPositionSigma(uError), m_vPositionSigma(vError),
62  m_uvRho(uvRho), m_clsCharge(clsCharge),
63  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
64  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(0)
65  {}
66 
81  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
82  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
83  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
84  unsigned short uStart, unsigned short vStart, int clsKind):
85  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
86  m_uPositionSigma(uError), m_vPositionSigma(vError),
87  m_uvRho(uvRho), m_clsCharge(clsCharge),
88  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
89  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind)
90  {}
91 
108  PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
109  float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
110  unsigned short clsSize, unsigned short uSize, unsigned short vSize,
111  unsigned short uStart, unsigned short vStart, int clsKind, const std::vector<float>& etaValues,
112  const std::vector<int>& shapeIndices):
113  m_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
114  m_uPositionSigma(uError), m_vPositionSigma(vError),
115  m_uvRho(uvRho), m_clsCharge(clsCharge),
116  m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
117  m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind), m_etaValues(etaValues), m_shapeIndices(shapeIndices)
118  {}
119 
123  VxdID getSensorID() const { return m_sensorID; }
124 
128  float getU() const { return m_uPosition; }
129 
133  float getV() const { return m_vPosition; }
134 
138  float getUSigma() const { return m_uPositionSigma; }
139 
143  float getVSigma() const { return m_vPositionSigma; }
144 
148  float getRho() const { return m_uvRho; }
149 
153  unsigned short getCharge() const { return m_clsCharge; }
154 
158  unsigned short getSeedCharge() const { return m_seedCharge; }
159 
163  unsigned short getSize() const { return m_clsSize; }
164 
168  unsigned short getUSize() const { return m_uSize; }
169 
173  unsigned short getVSize() const { return m_vSize; }
174 
178  unsigned short getUStart() const { return m_uStart; }
179 
183  unsigned short getVStart() const { return m_vStart; }
184 
188  int getKind() const { return m_clsKind; }
189 
194  short getShape() const { return 0; }
195 
198  void setKind(short NewClsKind) { m_clsKind = NewClsKind; }
199 
202  void setU(float NewuPosition) { m_uPosition = NewuPosition; }
203 
206  void setV(float NewvPosition) { m_vPosition = NewvPosition; }
207 
210  void setUSigma(float NewuError) { m_uPositionSigma = NewuError; }
211 
214  void setVSigma(float NewvError) { m_vPositionSigma = NewvError; }
215 
218  void setRho(float NewRho) { m_uvRho = NewRho; }
219 
222  const std::vector<int>& getSectorShapeIndices() const { return m_shapeIndices; }
223 
226  std::vector<int>& getSectorShapeIndices() { return m_shapeIndices; }
227 
230  const std::vector<float>& getSectorEtaValues() const { return m_etaValues; }
231 
234  std::vector<float>& getSectorEtaValues() { return m_etaValues; }
235 
236  protected:
237  unsigned short m_sensorID;
238  float m_uPosition;
239  float m_vPosition;
240  float m_uPositionSigma;
241  float m_vPositionSigma;
242  float m_uvRho;
243  unsigned short m_clsCharge;
244  unsigned short m_seedCharge;
245  unsigned short m_clsSize;
246  unsigned short m_uSize;
247  unsigned short m_vSize;
248  unsigned short m_uStart;
249  unsigned short m_vStart;
250  int m_clsKind;
251  std::vector<float> m_etaValues;
252  std::vector<int> m_shapeIndices;
256  };
257 
258 
260 } //Belle2 namespace
261 #endif
Belle2::PXDCluster::getUSigma
float getUSigma() const
Get error of u coordinate of hit position.
Definition: PXDCluster.h:146
Belle2::PXDCluster::setVSigma
void setVSigma(float NewvError)
Set error in v coordinate of hit position.
Definition: PXDCluster.h:222
Belle2::PXDCluster::getKind
int getKind() const
Get cluster kind.
Definition: PXDCluster.h:196
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::PXDCluster::m_clsCharge
unsigned short m_clsCharge
Deposited charge in ADC units.
Definition: PXDCluster.h:251
Belle2::PXDCluster::m_sensorID
unsigned short m_sensorID
Compressed sensor identifier.
Definition: PXDCluster.h:245
Belle2::PXDCluster::m_uvRho
float m_uvRho
Cluster shape correlation.
Definition: PXDCluster.h:250
Belle2::PXDCluster::m_vStart
unsigned short m_vStart
Start row of the cluster.
Definition: PXDCluster.h:257
Belle2::PXDCluster::getU
float getU() const
Get u coordinate of hit position.
Definition: PXDCluster.h:136
Belle2::RelationsInterface::ClassDef
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Belle2::PXDCluster::m_uStart
unsigned short m_uStart
Start column of the cluster.
Definition: PXDCluster.h:256
Belle2::PXDCluster::m_vPositionSigma
float m_vPositionSigma
Error in v position.
Definition: PXDCluster.h:249
Belle2::PXDCluster::setKind
void setKind(short NewClsKind)
Set cluster kind.
Definition: PXDCluster.h:206
Belle2::PXDCluster::m_etaValues
std::vector< float > m_etaValues
Vector of eta values for four angle sectors.
Definition: PXDCluster.h:259
Belle2::PXDCluster::m_uPositionSigma
float m_uPositionSigma
Error in u position.
Definition: PXDCluster.h:248
Belle2::PXDCluster::getSeedCharge
unsigned short getSeedCharge() const
Get seed charge.
Definition: PXDCluster.h:166
Belle2::PXDCluster::setV
void setV(float NewvPosition)
Set v coordinate of hit position.
Definition: PXDCluster.h:214
Belle2::PXDCluster::getCharge
unsigned short getCharge() const
Get collected charge.
Definition: PXDCluster.h:161
Belle2::PXDCluster::m_vSize
unsigned short m_vSize
Cluster size in pixel rows
Definition: PXDCluster.h:255
Belle2::PXDCluster::getRho
float getRho() const
Get hit position error covariance coefficient.
Definition: PXDCluster.h:156
Belle2::PXDCluster::m_clsKind
int m_clsKind
Cluster kind.
Definition: PXDCluster.h:258
Belle2::PXDCluster::getSize
unsigned short getSize() const
Get cluster size.
Definition: PXDCluster.h:171
Belle2::PXDCluster::m_uSize
unsigned short m_uSize
Cluster size in pixel columns.
Definition: PXDCluster.h:254
Belle2::PXDCluster::m_shapeIndices
std::vector< int > m_shapeIndices
Vector of shape indices for four angle sectors.
Definition: PXDCluster.h:260
Belle2::PXDCluster::getSectorShapeIndices
const std::vector< int > & getSectorShapeIndices() const
Get vector of sector shape indices.
Definition: PXDCluster.h:230
Belle2::PXDCluster::PXDCluster
PXDCluster()
Default constructor for the ROOT IO.
Definition: PXDCluster.h:45
Belle2::PXDCluster::setU
void setU(float NewuPosition)
Set u coordinate of hit position.
Definition: PXDCluster.h:210
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::PXDCluster::m_vPosition
float m_vPosition
Absolute cell position in z.
Definition: PXDCluster.h:247
Belle2::PXDCluster::m_clsSize
unsigned short m_clsSize
Cluster size in pixels.
Definition: PXDCluster.h:253
Belle2::PXDCluster::m_seedCharge
unsigned short m_seedCharge
Cluster seed charge in ADC units.
Definition: PXDCluster.h:252
Belle2::PXDCluster::getSectorEtaValues
const std::vector< float > & getSectorEtaValues() const
Get vector of sector eta values.
Definition: PXDCluster.h:238
Belle2::PXDCluster::setUSigma
void setUSigma(float NewuError)
Set error of u coordinate of hit position.
Definition: PXDCluster.h:218
Belle2::PXDCluster
The PXD Cluster class This class stores all information about reconstructed PXD clusters The position...
Definition: PXDCluster.h:41
Belle2::PXDCluster::getSensorID
VxdID getSensorID() const
Get the sensor ID.
Definition: PXDCluster.h:131
Belle2::PXDCluster::getVSigma
float getVSigma() const
Get error in v coordinate of hit position.
Definition: PXDCluster.h:151
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::PXDCluster::getShape
short getShape() const
Get cluster kind.
Definition: PXDCluster.h:202
Belle2::PXDCluster::getUStart
unsigned short getUStart() const
Get cluster start cell in u direction.
Definition: PXDCluster.h:186
Belle2::PXDCluster::setRho
void setRho(float NewRho)
Set error covariance coefficient of hit position.
Definition: PXDCluster.h:226
Belle2::PXDCluster::getVSize
unsigned short getVSize() const
Get cluster size in v direction.
Definition: PXDCluster.h:181
Belle2::PXDCluster::getV
float getV() const
Get v coordinate of hit position.
Definition: PXDCluster.h:141
Belle2::PXDCluster::getVStart
unsigned short getVStart() const
Get cluster start cell in v direction.
Definition: PXDCluster.h:191
Belle2::PXDCluster::getUSize
unsigned short getUSize() const
Get cluster size in u direction.
Definition: PXDCluster.h:176
Belle2::PXDCluster::m_uPosition
float m_uPosition
Absolute cell position in r-phi.
Definition: PXDCluster.h:246