Fork me on GitHub

source: git/external/TrackCovariance/SolGeom.h@ e69eea2

Last change on this file since e69eea2 was 4cc778e, checked in by Pavel Demin <pavel.demin@…>, 5 years ago

fix includes in TrackCovariance/SolGeom.h

  • Property mode set to 100644
File size: 2.5 KB
Line 
1#ifndef G__SOLGEOM_H
2#define G__SOLGEOM_H
3
4#include <Rtypes.h>
5#include <TString.h>
6
7// Class to create geometry for solenoid geometry
8
9class SolGeom{
10 //
11 // Units are m
12 //
13private:
14 const Int_t fNlMax = 200; // Maximum number of layers
15
16 // B field
17 Double_t fB; // B field in Tesla
18
19 // Barrel layer properties
20 Int_t fNlay; // Total number of layers
21 Int_t fBlay; // Number of barrel layers
22 Int_t fFlay; // Number of forward/backward layers
23 Int_t fNm; // Nr. measurement layers
24 Int_t *ftyLay; // Layer type 1 = R (barrel) or 2 = z (forward/backward)
25 TString *fLyLabl; // Layer label
26 // Barrel: PIPE, VTXLOW, VTXHIGH, DCHCANI, DCH, DCHCANO, BSILWRP, MAG, BPRESH
27 // Fw/Bw: VTXDSK, DCHWALL, FSILWRP, FRAD, FPRESH
28 Double_t *fxMin; // Minimum dimension z for barrel or R for forward
29 Double_t *fxMax; // Maximum dimension z for barrel or R for forward
30 Double_t *frPos; // R/z location of layer
31 Double_t *fthLay; // Thickness (meters)
32 Double_t *frlLay; // Radiation length (meters)
33 Int_t *fnmLay; // Number of measurements in layers (1D or 2D)
34 Double_t *fstLayU; // Stereo angle (rad) - 0(pi/2) = axial(z) layer - Upper side
35 Double_t *fstLayL; // Stereo angle (rad) - 0(pi/2) = axial(z) layer - Lower side
36 Double_t *fsgLayU; // Resolution Upper side (meters) - 0 = no measurement
37 Double_t *fsgLayL; // Resolution Lower side (meters) - 0 = no measurement
38 Bool_t *fflLay; // measurement flag = T, scattering only = F
39
40public:
41 SolGeom();
42 ~SolGeom();
43
44 void Read(const char *data);
45
46 Double_t B() { return fB; }
47 Int_t Nl() { return fNlay; }
48 Int_t Nm() { return fNm; }
49 Int_t NBl() { return fBlay; }
50 TString lLabl(Int_t nlayer) { return fLyLabl[nlayer]; }
51 Int_t lTyp(Int_t nlayer) { return ftyLay[nlayer]; }
52 Double_t lxMin(Int_t nlayer) { return fxMin[nlayer]; }
53 Double_t lxMax(Int_t nlayer) { return fxMax[nlayer]; }
54 Double_t lPos(Int_t nlayer) { return frPos[nlayer]; }
55 Double_t lTh(Int_t nlayer) { return fthLay[nlayer]; }
56 Double_t lX0(Int_t nlayer) { return frlLay[nlayer]; }
57 Int_t lND(Int_t nlayer) { return fnmLay[nlayer]; }
58 Double_t lStU(Int_t nlayer) { return fstLayU[nlayer]; }
59 Double_t lStL(Int_t nlayer) { return fstLayL[nlayer]; }
60 Double_t lSgU(Int_t nlayer) { return fsgLayU[nlayer]; }
61 Double_t lSgL(Int_t nlayer) { return fsgLayL[nlayer]; }
62 Bool_t isMeasure(Int_t nlayer) { return fflLay[nlayer]; }
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.