Belle II Software  release-08-01-10
VXDIntercept.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 
14 namespace Belle2 {
23  class VXDIntercept : public RelationsObject {
24 
25  public:
26 
31 
33  VXDIntercept(double coorU, double coorV, VxdID sensorid) :
34  m_coorU(coorU),
35  m_coorV(coorV),
36  m_sigmaU(0),
37  m_sigmaV(0),
38  m_sigmaUprime(0),
39  m_sigmaVprime(0),
40  m_lambda(0),
41  m_sensorID(sensorid) {}
42 
44  VXDIntercept(double coorU, double coorV, double sigmaU, double sigmaV,
45  double sigmaUprime, double sigmaVprime, double lambda, VxdID sensorid) :
46  m_coorU(coorU),
47  m_coorV(coorV),
48  m_sigmaU(sigmaU),
49  m_sigmaV(sigmaV),
50  m_sigmaUprime(sigmaUprime),
51  m_sigmaVprime(sigmaVprime),
52  m_lambda(lambda),
53  m_sensorID(sensorid) {}
54 
58 
59  double getCoorU() const { return m_coorU; }
60  double getCoorV() const { return m_coorV; }
61  double getSigmaU() const { return m_sigmaU; }
62  double getSigmaV() const { return m_sigmaV; }
63  double getSigmaUprime() const { return m_sigmaUprime; }
64  double getSigmaVprime() const { return m_sigmaVprime; }
65  double getLambda() const { return m_lambda; }
66  VxdID::baseType getSensorID() const { return m_sensorID; }
68  void setCoorU(double user_coorU) { m_coorU = user_coorU; }
69  void setCoorV(double user_coorV) { m_coorV = user_coorV; }
70  void setSigmaU(double user_sigmaU) { m_sigmaU = user_sigmaU; }
71  void setSigmaV(double user_sigmaV) { m_sigmaV = user_sigmaV; }
72  void setSigmaUprime(double user_sigmaUprime) { m_sigmaUprime = user_sigmaUprime; }
73  void setSigmaVprime(double user_sigmaVprime) { m_sigmaVprime = user_sigmaVprime; }
74  void setLambda(double user_lambda) { m_lambda = user_lambda; }
75  void setVxdID(VxdID::baseType user_vxdID) { m_sensorID = user_vxdID; }
77  private:
78 
79  double m_coorU;
80  double m_coorV;
81  double m_sigmaU;
82  double m_sigmaV;
83  double m_sigmaUprime;
84  double m_sigmaVprime;
85  double m_lambda;
91  };
93 }
Defines interface for accessing relations of objects in StoreArray.
VXDIntercept stores the U,V coordinates and uncertainties of the intersection of a track with a VXD s...
Definition: VXDIntercept.h:23
void setLambda(double user_lambda)
set the length of the track
Definition: VXDIntercept.h:74
double getSigmaVprime() const
return the statistical error of the extrapolation of V prime
Definition: VXDIntercept.h:64
void setVxdID(VxdID::baseType user_vxdID)
set the sensor ID
Definition: VXDIntercept.h:75
VxdID::baseType m_sensorID
sensor ID
Definition: VXDIntercept.h:87
double m_coorU
u coordinate of the intercept
Definition: VXDIntercept.h:79
~VXDIntercept()
Destructor.
Definition: VXDIntercept.h:57
double m_sigmaU
statistical error of the extrapolation along the u coordinate
Definition: VXDIntercept.h:81
void setSigmaVprime(double user_sigmaVprime)
set the statistical error of the extrapolation of V prime
Definition: VXDIntercept.h:73
double getSigmaV() const
return the statistical error on the V coordinate of the intercept
Definition: VXDIntercept.h:62
void setSigmaU(double user_sigmaU)
set the statistical error on the U coordinate of the intercept
Definition: VXDIntercept.h:70
double getSigmaUprime() const
return the statistical error of the extrapolation of U prime
Definition: VXDIntercept.h:63
VXDIntercept(double coorU, double coorV, double sigmaU, double sigmaV, double sigmaUprime, double sigmaVprime, double lambda, VxdID sensorid)
Explicit constructor providing all values.
Definition: VXDIntercept.h:44
void setCoorU(double user_coorU)
set the U coordinate of the intercept
Definition: VXDIntercept.h:68
void setCoorV(double user_coorV)
set the V coordinate of the intercept
Definition: VXDIntercept.h:69
double m_coorV
v coordinate of the intercept
Definition: VXDIntercept.h:80
double m_lambda
length of the track
Definition: VXDIntercept.h:85
double m_sigmaV
statistical error of the extrapolation along the v coordinate
Definition: VXDIntercept.h:82
void setSigmaV(double user_sigmaV)
set the statistical error on the V coordinate of the intercept
Definition: VXDIntercept.h:71
double getLambda() const
return the length of the track
Definition: VXDIntercept.h:65
double m_sigmaVprime
statistical error of the extrapolation of V prime
Definition: VXDIntercept.h:84
double getCoorV() const
return the V coordinate of the intercept
Definition: VXDIntercept.h:60
ClassDef(VXDIntercept, 1)
Needed to make the ROOT object storable.
double getSigmaU() const
return the statistical error on the U coordinate of the intercept
Definition: VXDIntercept.h:61
void setSigmaUprime(double user_sigmaUprime)
set the statistical error of the extrapolation of U prime
Definition: VXDIntercept.h:72
VxdID::baseType getSensorID() const
return the sensor ID
Definition: VXDIntercept.h:66
VXDIntercept(double coorU, double coorV, VxdID sensorid)
Explicit constructor providing coordinates and sensorID.
Definition: VXDIntercept.h:33
double getCoorU() const
return the U coordinate of the intercept
Definition: VXDIntercept.h:59
double m_sigmaUprime
statistical error of the extrapolation of U prime
Definition: VXDIntercept.h:83
VXDIntercept()
Default constructor for I/O.
Definition: VXDIntercept.h:29
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
unsigned short baseType
The base integer type for VxdID.
Definition: VxdID.h:36
Abstract base class for different kinds of events.