FairRoot/PandaRoot
PndSttTube.h
Go to the documentation of this file.
1 #ifndef PNDSTTTUBE_H
2 #define PNDSTTTUBE_H 1
3 
4 #include "TVector3.h"
5 #include "TMatrixT.h"
6 #include "TObject.h"
7 #include "TArrayI.h"
8 #include "PndSttTubeParameters.h"
9 
11 class PndSttTube : public TObject
12 {
13 
14  public:
15 
17  PndSttTube();
18  PndSttTube(PndSttTube &tube);
19 
20  ~PndSttTube();
23  Double_t r11, Double_t r12, Double_t r13,
24  Double_t r21, Double_t r22, Double_t r23,
25  Double_t r31, Double_t r32, Double_t r33,
26  Double_t radin, Double_t radout);
27 
29  {
33  fRadIn=o.fRadIn;
34  fRadOut=o.fRadOut;
40  return *this;
41  };
42 
43  TVector3 GetPosition();
44  TMatrixT<Double_t> GetRotationMatrix();
48  TVector3 GetWireDirection();
50  Int_t GetTubeID();
51  void SetSectorID(int id);
52  void SetLayerID(int id);
53  int GetLayerID();
54  int GetSectorID();
55  void SetNeighborings(TArrayI neighborings);
56  TArrayI GetNeighborings();
57  Int_t GetNeighboring(int i);
59  Bool_t IsNeighboring(int tubeID);
60 
61  void SetSectorLimitFlag(Int_t flag) { fSectorLimit = flag; }
62  void SetLayerLimitFlag(Bool_t flag = kTRUE) { fLayerLimit = flag; }
63  bool IsLayerLimit() { return fLayerLimit; }
64  int IsSectorLimit() { return fSectorLimit; }
65 
66  bool IsParallel() {
67  return (GetWireDirection().Z() == 1);
68  }
69 
70  bool IsSkew() {
71  return !(GetWireDirection().Z() == 1);
72  }
73 
74  private:
76  TVector3 fCenPosition;
77  TMatrixT<double> fRotationMatrix;
80  TArrayI fNeighborings;
82  Int_t fSectorLimit;
83 
85 };
86 
87 
88 #endif
void SetSectorID(int id)
Definition: PndSttTube.cxx:117
Int_t i
Definition: run_full.C:25
TArrayI fNeighborings
Definition: PndSttTube.h:80
Double_t GetHalfLength()
Definition: PndSttTube.cxx:99
void SetLayerLimitFlag(Bool_t flag=kTRUE)
Definition: PndSttTube.h:62
ClassDef(PndSttTube, 1)
TVector3 fCenPosition
Definition: PndSttTube.h:76
Int_t fLayerID
Definition: PndSttTube.h:79
void SetSectorLimitFlag(Int_t flag)
Definition: PndSttTube.h:61
Double_t GetDistance(PndSttTube *tube)
Definition: PndSttTube.cxx:153
void SetNeighborings(TArrayI neighborings)
Definition: PndSttTube.cxx:133
Double_t GetRadIn()
Definition: PndSttTube.cxx:93
int GetLayerID()
Definition: PndSttTube.cxx:128
PndSttTube & operator=(const PndSttTube &o)
Definition: PndSttTube.h:28
PndSttTubeParameters * GetTubeParameters()
Definition: PndSttTube.cxx:113
Bool_t IsNeighboring(int tubeID)
Definition: PndSttTube.cxx:145
Int_t GetTubeID()
Definition: PndSttTube.cxx:103
Bool_t fLayerLimit
Definition: PndSttTube.h:81
Double_t
Double_t fRadIn
Definition: PndSttTube.h:78
TArrayI GetNeighborings()
Definition: PndSttTube.cxx:137
TVector3 GetPosition()
Definition: PndSttTube.cxx:87
Double_t z
Double_t fRadOut
Definition: PndSttTube.h:78
TMatrixT< double > fRotationMatrix
Definition: PndSttTube.h:77
Double_t x
double Z
Definition: anaLmdDigi.C:68
PndSttTubeParameters * fTubeParms
Definition: PndSttTube.h:75
int IsSectorLimit()
Definition: PndSttTube.h:64
Double_t y
Int_t fSectorID
Definition: PndSttTube.h:79
Int_t GetNeighboring(int i)
Definition: PndSttTube.cxx:141
Int_t fSectorLimit
Definition: PndSttTube.h:82
bool IsParallel()
Definition: PndSttTube.h:66
int GetSectorID()
Definition: PndSttTube.cxx:124
Double_t GetRadOut()
Definition: PndSttTube.cxx:96
TMatrixT< Double_t > GetRotationMatrix()
Definition: PndSttTube.cxx:90
TVector3 GetWireDirection()
Definition: PndSttTube.cxx:107
void SetLayerID(int id)
Definition: PndSttTube.cxx:120
bool IsSkew()
Definition: PndSttTube.h:70
bool IsLayerLimit()
Definition: PndSttTube.h:63