BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
FTLayer.h
Go to the documentation of this file.
1#pragma once
2
3#include <cmath>
4
5class FTLayer {
6
7public:
8 FTLayer( const float radius, const float stereoAngle, const float zf, const float zb,
9 const float offset, const int layerID, const int localLayerID, const int nwire )
10 : _radius( radius )
11 , _tanSlant( 1. / std::tan( stereoAngle ) )
12 , _zf( zf )
13 , _zb( zb )
14 , _layerId( layerID )
15 , _offset( offset )
16 , _localLayerId( localLayerID )
17 , _nwire( nwire ) {}
18
19 ~FTLayer() = default;
20
21public: // Selectors
22 /// returns local-layer ID
23 const int localLayerId() const { return _localLayerId; }
24
25 /// returns layer ID
26 const int layerId() const { return _layerId; }
27
28 /// returns the number of wire
29 const int NWire() const { return _nwire; }
30
31 /// returns tangent of slant angle
32 const float tanSlant() const { return _tanSlant; }
33
34 /// returns r form origin
35 const float r() const { return _radius; }
36
37 /// returns z of forward end-plate
38 const float zf() const { return _zf; }
39
40 /// returns z of backward end-plate
41 const float zb() const { return _zb; }
42
43 /// returns offset of numbering(local ID)
44 const float offset() const { return _offset; }
45
46 /// returns limit of "d" for stereo layer
47 const double limit() const { return ( _zf - _zb ) / _tanSlant; }
48
49 /// returns z for "d" in r-phi plane
50 double z( const double d ) const { return _zb + d * _tanSlant; }
51
52 /// returns cell size
53 double csize() const { return 2 * M_PI * _radius / NWire(); }
54
55private: // private data members
56 const float _radius;
57 const float _tanSlant;
58 const float _zf; // z of forward endplate
59 const float _zb; // z of backward endplate
60 const float _offset;
61 const int _layerId;
62 const int _localLayerId;
63 const int _nwire;
64};
#define M_PI
Definition TConstant.h:4
const float zb() const
returns z of backward end-plate
Definition FTLayer.h:41
const float r() const
returns r form origin
Definition FTLayer.h:35
double z(const double d) const
returns z for "d" in r-phi plane
Definition FTLayer.h:50
const double limit() const
returns limit of "d" for stereo layer
Definition FTLayer.h:47
const float zf() const
returns z of forward end-plate
Definition FTLayer.h:38
~FTLayer()=default
const float offset() const
returns offset of numbering(local ID)
Definition FTLayer.h:44
const int NWire() const
returns the number of wire
Definition FTLayer.h:29
double csize() const
returns cell size
Definition FTLayer.h:53
const int localLayerId() const
returns local-layer ID
Definition FTLayer.h:23
const int layerId() const
returns layer ID
Definition FTLayer.h:26
const float tanSlant() const
returns tangent of slant angle
Definition FTLayer.h:32
FTLayer(const float radius, const float stereoAngle, const float zf, const float zb, const float offset, const int layerID, const int localLayerID, const int nwire)
Definition FTLayer.h:8