-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibrary_access.h
41 lines (26 loc) · 968 Bytes
/
library_access.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef LIBRARY_ACCESS_H
#define LIBRARY_ACCESS_H
// this class is designed to access the visibility parameters from the
// optical libraries, that can then be used to calculate the number of
// photons incident on each PMT
#include <vector>
#include <string>
class LibraryAccess{
public:
void LoadLibraryFromFile(std::string libraryfile);
const float* GetCounts(size_t Voxel, int no_pmt);
const float* GetLibraryEntries(int VoxID, int no_pmt);
int GetVoxelID(double* Position);
float PhotonLibraryAnalyzer(int _pmt_number, int _voxel);
LibraryAccess();
private:
// table to store library visibilities
std::vector<std::vector<float> > table_;
// microboone voxelisation scheme
const double gLowerCorner[3] = {-64.825, -193, -127.24};
const double gUpperCorner[3] = {321.175, 193, 1164.24};
const int gxSteps = 75;
const int gySteps = 75;
const int gzSteps = 400;
};
#endif