Belle II Software  release-08-01-10
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 
21 namespace 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
TMatrixFSym m_tubecentererrormatrix
Btube Center Error (3x3) matrix.
Definition: Btube.h:97
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
Eigen::Matrix< double, 3, 1 > getTubeCenter() const
Returns Btube center.
Definition: Btube.h:64
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
Eigen::Matrix< double, 3, 1 > getTubeDirection() const
Returns Btube direction.
Definition: Btube.h:71
~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.