BmnRoot
Loading...
Searching...
No Matches
BmnMwpcGeometrySRC.h
Go to the documentation of this file.
1// @(#)bmnroot/mwpc:$Id$
2// Author: Maria Patsyuk <mpatsyuk@mit.edu> 2018-02-10
3
5// //
6// BmnMwpcGeometrySRC //
7// //
8// A class containing geometry params. of //
9// the Multi Wire Prop. Chambers of the SRC at BM@N experiment //
10// //
12
13#ifndef BMNMWPCGEOMETRYSRC_H
14#define BMNMWPCGEOMETRYSRC_H
15
16#include <iostream>
17#include <TNamed.h>
18#include <TMath.h>
19#include <TVector3.h>
20
21using namespace std;
22using namespace TMath;
23
24class BmnMwpcGeometrySRC : public TNamed
25{
26 public:
29 BmnMwpcGeometrySRC(Int_t periodNum, Int_t runNum);//(Int_t periodNum)
31 virtual ~BmnMwpcGeometrySRC();
32
33 Short_t GetNChambers() {
34 return fNChambers;
35 }
36
37 Short_t GetNPlanes() {
38 return fNPlanes;
39 }
40
41 Short_t GetTimeBin() {
42 return fTimeBin;
43 }
44
45 Short_t GetNWires() {
46 return fNWires;
47 }
48
49 Double_t GetAngleStep() {
50 return fAngleStep;
51 }
52
53 Double_t GetWireStep() {
54 return fWireStep;
55 }
56
57 Double_t GetPlaneStep() {
58 return fPlaneStep;
59 }
60
61 Double_t GetPlaneHeight() {
62 return fPlaneHeight;
63 }
64
65 Double_t GetPlaneWidth() {
66 return fPlaneWidth;
67 }
68
69 Double_t GetZPlanePos(Int_t chamber, Int_t plane) {
70 return fZPlanePos[chamber][plane];
71 }
72
73 TVector3 GetChamberCenter(Int_t chamber);
74 TVector3 GetAxisPrime(Int_t chamber, Int_t axis);
75 Double_t GetTx(Int_t chamber);
76 Double_t GetTy(Int_t chamber);
77
78 Double_t GetAngleX(Int_t chamber){
79 return fAngleX[chamber];
80 }
81
82 Double_t GetAngleY(Int_t chamber){
83 return fAngleY[chamber];
84 }
85
86 Double_t GetZRight(Int_t chamber) {
87 return fZright[chamber];
88 }
89
90 Double_t GetZLeft(Int_t chamber) {
91 return fZleft[chamber];
92 }
93
94 private:
95 Int_t fNChambers;
96 Int_t fNPlanes;
97 Int_t kCh_min;
98 Int_t kCh_max;
99 Short_t fTimeBin; // in ns
100 Short_t fNWires; //in one plane
101 Double_t fAngleStep;
102 Double_t fWireStep; // in cm
103 Double_t fPlaneStep; // in cm
104 Double_t fPlaneHeight; // in cm
105 Double_t fPlaneWidth; //in cm
106 Double_t fSpaceLeft; //in cm
107 Double_t fSpaceRight; //in cm
108
109 Double_t *fAngleX;
110 Double_t *fAngleY;
111
112 Double_t **fZPlanePos;
113 Double_t *fZright;
114 Double_t *fZleft;
115 Double_t *fX;
116 Double_t *fY;
117
118
119 Double_t fChamberWidth;
120 // Double_t fDistanceBetweenMWPC;
121 Double_t fGlobalZdiff;
122
123 Bool_t fDebug;
124
125 TVector3 fOXprime[4];
126 TVector3 fOYprime[4];
127 TVector3 fOZprime[4];
128
129 ClassDef(BmnMwpcGeometrySRC, 1);
130};
131
132#endif
Double_t GetAngleX(Int_t chamber)
Double_t GetZRight(Int_t chamber)
Double_t GetTy(Int_t chamber)
Double_t GetTx(Int_t chamber)
Double_t GetAngleY(Int_t chamber)
TVector3 GetChamberCenter(Int_t chamber)
TVector3 GetAxisPrime(Int_t chamber, Int_t axis)
Double_t GetZPlanePos(Int_t chamber, Int_t plane)
Double_t GetZLeft(Int_t chamber)
STL namespace.