Belle II Software  release-05-01-25
Btube.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Sourav Dey, Abi Soffer *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/datastore/RelationsObject.h>
14 
15 #include <TVector3.h>
16 #include <TMatrixFSym.h>
17 #include <framework/datastore/StoreArray.h>
18 #include <framework/logging/Logger.h>
19 #include <iostream>
20 #include <vector>
21 #include <set>
22 #include <Eigen/Core>
23 
24 namespace Belle2 {
30  class Btube : public RelationsObject {
31  public:
39  {
40  m_tubecenter(0, 0) = 0; m_tubecenter(1, 0) = 0; m_tubecenter(2, 0) = 0;
41  m_tubedirection(0, 0) = 0; m_tubedirection(1, 0) = 0; m_tubedirection(2, 0) = 0;
44  }
45 
49  void setTubeCenter(const Eigen::Matrix<double, 3, 1>& tubecenter) {m_tubecenter = tubecenter;}
53  void setTubeDirection(const Eigen::Matrix<double, 3, 1>& tubedirection) {m_tubedirection = tubedirection;}
57  void setTubeMatrix(const TMatrixFSym& tubematrix) {m_tubematrix = tubematrix;}
58 
62  void setTubeCenterErrorMatrix(const TMatrixFSym& tubecentererrormatrix) {m_tubecentererrormatrix = tubecentererrormatrix;}
63 
67  Eigen::Matrix<double, 3, 1> getTubeCenter() const
68  {
69  return m_tubecenter;
70  }
74  Eigen::Matrix<double, 3, 1> getTubeDirection() const
75  {
76  return m_tubedirection;
77  }
81  TMatrixFSym getTubeMatrix() const
82  {
83  return m_tubematrix;
84  }
88  TMatrixFSym getTubeCenterErrorMatrix() const
89  {
91  }
92 
94  ~Btube() { }
95 
96  private:
97  Eigen::Matrix<double, 3, 1> m_tubecenter;
98  Eigen::Matrix<double, 3, 1> m_tubedirection;
99  TMatrixFSym m_tubematrix;
100  TMatrixFSym m_tubecentererrormatrix;
104  // Note: values >=1 are versions, and should be incremented when anything about the class members is changed.
105  // 0 is used to disable I/O capabilities, so always make sure this starts at 1.
106  // 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
108  };
110 }
111 
Belle2::Btube::setTubeCenterErrorMatrix
void setTubeCenterErrorMatrix(const TMatrixFSym &tubecentererrormatrix)
Sets Btube Center Error Matrix.
Definition: Btube.h:70
Belle2::Btube
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
Definition: Btube.h:38
Belle2::Btube::m_tubematrix
TMatrixFSym m_tubematrix
Btube (3x3) matrix.
Definition: Btube.h:107
Belle2::Btube::m_tubecenter
Eigen::Matrix< double, 3, 1 > m_tubecenter
Btube center.
Definition: Btube.h:105
Belle2::Btube::Btube
Btube()
default constructor.
Definition: Btube.h:46
Belle2::Btube::ClassDef
ClassDef(Btube, 1)
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
Belle2::Btube::setTubeCenter
void setTubeCenter(const Eigen::Matrix< double, 3, 1 > &tubecenter)
Sets Btube Center.
Definition: Btube.h:57
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Btube::m_tubecentererrormatrix
TMatrixFSym m_tubecentererrormatrix
Btube Center Error (3x3) matrix.
Definition: Btube.h:108
Belle2::Btube::setTubeDirection
void setTubeDirection(const Eigen::Matrix< double, 3, 1 > &tubedirection)
Sets Btube Direction.
Definition: Btube.h:61
Belle2::Btube::getTubeDirection
Eigen::Matrix< double, 3, 1 > getTubeDirection() const
Returns Btube direction.
Definition: Btube.h:82
Belle2::Btube::getTubeMatrix
TMatrixFSym getTubeMatrix() const
Returns Btube matrix.
Definition: Btube.h:89
Belle2::Btube::getTubeCenter
Eigen::Matrix< double, 3, 1 > getTubeCenter() const
Returns Btube center.
Definition: Btube.h:75
Belle2::Btube::~Btube
~Btube()
destructor, empty because we don't allocate memory anywhere.
Definition: Btube.h:102
Belle2::Btube::m_tubedirection
Eigen::Matrix< double, 3, 1 > m_tubedirection
Btube direction.
Definition: Btube.h:106
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::Btube::resetTubeCenterErrorMatrix
void resetTubeCenterErrorMatrix()
resets the tube center error matrix
Definition: Btube.cc:20
Belle2::Btube::resetTubeMatrix
void resetTubeMatrix()
resets the tube matrix
Definition: Btube.cc:14
Belle2::Btube::setTubeMatrix
void setTubeMatrix(const TMatrixFSym &tubematrix)
Sets Btube Matrix.
Definition: Btube.h:65
Belle2::Btube::getTubeCenterErrorMatrix
TMatrixFSym getTubeCenterErrorMatrix() const
Returns Btube Center Error Matrix.
Definition: Btube.h:96