EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MediaSliceArray.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MediaSliceArray.h
1 //
2 // AYK (ayk@bnl.gov), shaped up in Nov'2015;
3 //
4 // Array of media slices;
5 //
6 
7 #include <vector>
8 
9 #ifndef _MEDIA_SLICE_ARRAY_
10 #define _MEDIA_SLICE_ARRAY_
11 
12 class MediaBank;
13 class t_particle_group;
14 
15 #include <MediaSlice.h>
16 
18  public:
19  MediaSliceArray(MediaBank *bank, double z1, double z2);
20 
21  double GetZ0() const { return mZ0; };
22  double GetThickness() const { return mThickness; };
23  unsigned GetMediaSliceCount() const { return mMediaSlices.size(); };
24  MediaSlice *GetMediaSlice(unsigned iq) {
25  return (iq < mMediaSlices.size() ? &mMediaSlices[iq] : 0);
26  };
27 
28  // dE over this material slice array for a given particle type and energy;
29  double GetDE(t_particle_group *pgroup, int charge, double e0_kin);
30 
31  private:
32  double mZ0, mThickness;
33 
34  std::vector<MediaSlice> mMediaSlices;
35 };
36 
37 #endif