PandaRoot
PndOtTube.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
14 // PndOtTube header file
15 //
16 // Copied from PndFtsTube
17 //
18 // authors: Radoslaw Karabowicz, GSI, 2024
20 
21 #ifndef PNDOTTUBE_H
22 #define PNDOTTUBE_H 1
23 
24 // from ROOT
25 #include "TVector3.h"
26 #include "TMatrixT.h"
27 #include "TObject.h"
28 
29 class PndOtTube : public TObject {
30 
31  public:
33  PndOtTube();
34  PndOtTube(PndOtTube &tube);
35 
36  ~PndOtTube();
37  PndOtTube(Double_t x, Double_t y, Double_t z, Double_t r11, Double_t r12, Double_t r13, Double_t r21, Double_t r22, Double_t r23, Double_t r31, Double_t r32, Double_t r33,
38  Double_t radin, Double_t radout, Double_t hl);
39 
40  TVector3 GetPosition() const;
41  TMatrixT<Double_t> GetRotationMatrix() const;
42  Double_t GetRadIn() const;
43  Double_t GetRadOut() const;
44  Double_t GetHalfLength() const;
45  TVector3 GetWireDirection() const;
46 
47  bool IsSkew() const { return (0. != GetWireDirection().X()); }
48 
49  private:
50  TVector3 fCenPosition;
51  TMatrixT<double> fRotationMatrix;
52  Double_t fRadIn, fRadOut, fHalfLength;
53 
54  ClassDef(PndOtTube, 1);
55 };
56 
57 #endif
TMatrixT< Double_t > GetRotationMatrix() const
Double_t GetRadOut() const
TVector3 GetPosition() const
Double_t GetRadIn() const
bool IsSkew() const
Definition: PndOtTube.h:47
TVector3 GetWireDirection() const
Double_t GetHalfLength() const