Belle II Software development
Btube.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
13#include <TMatrixFSym.h>
14#include <Eigen/Core>
15
16namespace Belle2 {
22 class Btube : public RelationsObject {
23 public:
31 {
32 m_tubecenter(0, 0) = 0; m_tubecenter(1, 0) = 0; m_tubecenter(2, 0) = 0;
33 m_tubedirection(0, 0) = 0; m_tubedirection(1, 0) = 0; m_tubedirection(2, 0) = 0;
36 }
37
41 void setTubeCenter(const Eigen::Matrix<double, 3, 1>& tubecenter) {m_tubecenter = tubecenter;}
45 void setTubeDirection(const Eigen::Matrix<double, 3, 1>& tubedirection) {m_tubedirection = tubedirection;}
49 void setTubeMatrix(const TMatrixFSym& tubematrix) {m_tubematrix = tubematrix;}
50
54 void setTubeCenterErrorMatrix(const TMatrixFSym& tubecentererrormatrix) {m_tubecentererrormatrix = tubecentererrormatrix;}
55
59 Eigen::Matrix<double, 3, 1> getTubeCenter() const
60 {
61 return m_tubecenter;
62 }
66 Eigen::Matrix<double, 3, 1> getTubeDirection() const
67 {
68 return m_tubedirection;
69 }
73 TMatrixFSym getTubeMatrix() const
74 {
75 return m_tubematrix;
76 }
80 TMatrixFSym getTubeCenterErrorMatrix() const
81 {
83 }
84
86 ~Btube() { }
87
88 private:
89 Eigen::Matrix<double, 3, 1> m_tubecenter;
90 Eigen::Matrix<double, 3, 1> m_tubedirection;
91 TMatrixFSym m_tubematrix;
94 void resetTubeMatrix();
96 // Note: values >=1 are versions, and should be incremented when anything about the class members is changed.
97 // 0 is used to disable I/O capabilities, so always make sure this starts at 1.
98 // comments after the Classdef macro are also used by ROOT to provide online documentation of a class, e.g. with the auto-generated Print() function
100 };
102}
103
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
Definition: Btube.h:22
Btube()
default constructor.
Definition: Btube.h:30
TMatrixFSym m_tubematrix
Btube (3x3) matrix.
Definition: Btube.h:91
TMatrixFSym getTubeMatrix() const
Returns Btube matrix.
Definition: Btube.h:73
TMatrixFSym getTubeCenterErrorMatrix() const
Returns Btube Center Error Matrix.
Definition: Btube.h:80
void resetTubeMatrix()
resets the tube matrix
Definition: Btube.cc:12
void setTubeCenterErrorMatrix(const TMatrixFSym &tubecentererrormatrix)
Sets Btube Center Error Matrix.
Definition: Btube.h:54
Eigen::Matrix< double, 3, 1 > getTubeDirection() const
Returns Btube direction.
Definition: Btube.h:66
TMatrixFSym m_tubecentererrormatrix
Btube Center Error (3x3) matrix.
Definition: Btube.h:92
Eigen::Matrix< double, 3, 1 > getTubeCenter() const
Returns Btube center.
Definition: Btube.h:59
void setTubeCenter(const Eigen::Matrix< double, 3, 1 > &tubecenter)
Sets Btube Center.
Definition: Btube.h:41
Eigen::Matrix< double, 3, 1 > m_tubedirection
Btube direction.
Definition: Btube.h:90
ClassDef(Btube, 1)
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
void setTubeDirection(const Eigen::Matrix< double, 3, 1 > &tubedirection)
Sets Btube Direction.
Definition: Btube.h:45
~Btube()
destructor, empty because we don't allocate memory anywhere.
Definition: Btube.h:86
Eigen::Matrix< double, 3, 1 > m_tubecenter
Btube center.
Definition: Btube.h:89
void resetTubeCenterErrorMatrix()
resets the tube center error matrix
Definition: Btube.cc:18
void setTubeMatrix(const TMatrixFSym &tubematrix)
Sets Btube Matrix.
Definition: Btube.h:49
Defines interface for accessing relations of objects in StoreArray.
Abstract base class for different kinds of events.