EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MediaSlice.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MediaSlice.h
1 //
2 // AYK (ayk@bnl.gov), shaped up in Nov'2015;
3 //
4 // Single media slice definition;
5 //
6 
7 // NB: do not remove, contains _USE_GEANT3_MOLIERE_CHC_ definition!;
8 //#include <htclib.h>
9 
10 #ifndef _MEDIA_SLICE_
11 #define _MEDIA_SLICE_
12 
13 #include <MediaLayer.h>
14 
15 class MediaSlice {
16 public:
17  MediaSlice(const MediaLayer *mlayer, double z0, double thickness): mMediaLayer(mlayer), mZ0(z0),
18  mThickness(thickness), Cms(0.0) {
19  //#ifndef _USE_GEANT3_MOLIERE_CHC_
20  mReducedRadiationLength = thickness/mlayer->GetMaterial()->GetRadLen();
21  //#endif
22 
23  memset(_RCxx, 0x00, sizeof(_RCxx));
24  memset(_RCyy, 0x00, sizeof(_RCyy));
25  memset(_RCxy, 0x00, sizeof(_RCxy));
26  };
28 
29  const MediaLayer *GetMediaLayer() const { return mMediaLayer; };
30  double GetZ0() const { return mZ0; };
31  double GetThickness() const { return mThickness; };
32  //#ifndef _USE_GEANT3_MOLIERE_CHC_
34  //#endif
35 
36  // This is momentum- and slope-independent part of the well-known formula
37  // for the multiple scattering angle variance;
38  double Cms;
39  // "Raw" part of the process noise covariance matrix for this slice;
40  double _RCxx[2][4][4], _RCyy[2][4][4], _RCxy[2][4][4];
41 
42  private:
44 
45  double mZ0, mThickness;
46  //#ifndef _USE_GEANT3_MOLIERE_CHC_
48  //#endif
49 };
50 
51 #endif