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 <framework/datastore/StoreArray.h>
15#include <framework/logging/Logger.h>
16#include <iostream>
17#include <vector>
18#include <set>
19#include <Eigen/Core>
20
21namespace Belle2 {
27 class Btube : public RelationsObject {
28 public:
36 {
37 m_tubecenter(0, 0) = 0; m_tubecenter(1, 0) = 0; m_tubecenter(2, 0) = 0;
38 m_tubedirection(0, 0) = 0; m_tubedirection(1, 0) = 0; m_tubedirection(2, 0) = 0;
41 }
42
46 void setTubeCenter(const Eigen::Matrix<double, 3, 1>& tubecenter) {m_tubecenter = tubecenter;}
50 void setTubeDirection(const Eigen::Matrix<double, 3, 1>& tubedirection) {m_tubedirection = tubedirection;}
54 void setTubeMatrix(const TMatrixFSym& tubematrix) {m_tubematrix = tubematrix;}
55
59 void setTubeCenterErrorMatrix(const TMatrixFSym& tubecentererrormatrix) {m_tubecentererrormatrix = tubecentererrormatrix;}
60
64 Eigen::Matrix<double, 3, 1> getTubeCenter() const
65 {
66 return m_tubecenter;
67 }
71 Eigen::Matrix<double, 3, 1> getTubeDirection() const
72 {
73 return m_tubedirection;
74 }
78 TMatrixFSym getTubeMatrix() const
79 {
80 return m_tubematrix;
81 }
85 TMatrixFSym getTubeCenterErrorMatrix() const
86 {
88 }
89
91 ~Btube() { }
92
93 private:
94 Eigen::Matrix<double, 3, 1> m_tubecenter;
95 Eigen::Matrix<double, 3, 1> m_tubedirection;
96 TMatrixFSym m_tubematrix;
99 void resetTubeMatrix();
101 // Note: values >=1 are versions, and should be incremented when anything about the class members is changed.
102 // 0 is used to disable I/O capabilities, so always make sure this starts at 1.
103 // 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
105 };
107}
108
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
Definition: Btube.h:27
Btube()
default constructor.
Definition: Btube.h:35
TMatrixFSym m_tubematrix
Btube (3x3) matrix.
Definition: Btube.h:96
TMatrixFSym getTubeMatrix() const
Returns Btube matrix.
Definition: Btube.h:78
TMatrixFSym getTubeCenterErrorMatrix() const
Returns Btube Center Error Matrix.
Definition: Btube.h:85
void resetTubeMatrix()
resets the tube matrix
Definition: Btube.cc:12
void setTubeCenterErrorMatrix(const TMatrixFSym &tubecentererrormatrix)
Sets Btube Center Error Matrix.
Definition: Btube.h:59
Eigen::Matrix< double, 3, 1 > getTubeDirection() const
Returns Btube direction.
Definition: Btube.h:71
TMatrixFSym m_tubecentererrormatrix
Btube Center Error (3x3) matrix.
Definition: Btube.h:97
Eigen::Matrix< double, 3, 1 > getTubeCenter() const
Returns Btube center.
Definition: Btube.h:64
void setTubeCenter(const Eigen::Matrix< double, 3, 1 > &tubecenter)
Sets Btube Center.
Definition: Btube.h:46
Eigen::Matrix< double, 3, 1 > m_tubedirection
Btube direction.
Definition: Btube.h:95
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:50
~Btube()
destructor, empty because we don't allocate memory anywhere.
Definition: Btube.h:91
Eigen::Matrix< double, 3, 1 > m_tubecenter
Btube center.
Definition: Btube.h:94
void resetTubeCenterErrorMatrix()
resets the tube center error matrix
Definition: Btube.cc:18
void setTubeMatrix(const TMatrixFSym &tubematrix)
Sets Btube Matrix.
Definition: Btube.h:54
Defines interface for accessing relations of objects in StoreArray.
Abstract base class for different kinds of events.