CbmRoot
Loading...
Searching...
No Matches
CbmMustTube.cxx
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Radoslaw Karabowicz [committer] */
4
6// CbmMustTube header file
7//
8// Copied from PndFtsTube
9//
10// authors: Radoslaw Karabowicz, GSI, 2024
12
13#include "CbmMustTube.h"
14
15#include "CbmMustAddress.h"
16
18
20 : TObject(tube)
21 , fTubeIndex(tube.GetTubeIndex())
23 , fRotationMatrix(TMatrixT<double>(3, 3))
24 , fRadIn(tube.GetRadIn())
25 , fRadOut(tube.GetRadOut())
27{
28 fRotationMatrix.ResizeTo(3, 3);
30}
31
32CbmMustTube::CbmMustTube(uint32_t address, int tubeIndex, Double_t x, Double_t y, Double_t z, Double_t r11,
33 Double_t r12, Double_t r13, Double_t r21, Double_t r22, Double_t r23, Double_t r31,
34 Double_t r32, Double_t r33, Double_t radin, Double_t radout, Double_t hl)
35 : fAddress(address)
36 , fTubeIndex(tubeIndex)
37 , fCenPosition(TVector3(x, y, z))
38 , fRotationMatrix(TMatrixT<double>(3, 3))
39 , fRadIn(radin)
40 , fRadOut(radout)
41 , fHalfLength(hl)
42{
43
44 fRotationMatrix[0][0] = r11;
45 fRotationMatrix[0][1] = r12;
46 fRotationMatrix[0][2] = r13;
47
48 fRotationMatrix[1][0] = r21;
49 fRotationMatrix[1][1] = r22;
50 fRotationMatrix[1][2] = r23;
51
52 fRotationMatrix[2][0] = r31;
53 fRotationMatrix[2][1] = r32;
54 fRotationMatrix[2][2] = r33;
55}
56
58
60{
62 == CbmMustAddress::GetElementAddress(this->GetAddress(), kMustModule)) {
63 if (this->GetTubeIndex() == compTube->GetTubeIndex()) return 0;
64 if (this->GetTubeIndex() > compTube->GetTubeIndex()) return 1;
65 return -1;
66 }
67 return -2;
68}
@ kMustModule
Module.
static int32_t GetElementAddress(int32_t address, int32_t level)
Double_t fRadIn
Definition CbmMustTube.h:63
int CompareTubeIndex(const CbmMustTube *compTube) const
TMatrixT< Double_t > GetRotationMatrix() const
Definition CbmMustTube.h:37
Double_t fHalfLength
Definition CbmMustTube.h:65
Double_t fRadOut
Definition CbmMustTube.h:64
TVector3 GetPosition() const
Definition CbmMustTube.h:36
TVector3 fCenPosition
Definition CbmMustTube.h:61
Double_t GetRadIn() const
Definition CbmMustTube.h:38
uint32_t GetAddress() const
Definition CbmMustTube.h:34
Double_t GetHalfLength() const
Definition CbmMustTube.h:40
TMatrixT< double > fRotationMatrix
Definition CbmMustTube.h:62
int GetTubeIndex() const
Definition CbmMustTube.h:35
Double_t GetRadOut() const
Definition CbmMustTube.h:39
uint32_t fAddress
Definition CbmMustTube.h:59