34 #ifndef OPDETPHOTONTABLE_h 35 #define OPDETPHOTONTABLE_h 1 39 #include <unordered_map> 53 void AddLitePhoton(
int opchannel,
int time,
int nphotons,
bool Reflected =
false);
54 void AddPhoton(std::map<
int, std::map<int, int>>* StepPhotonTable,
bool Reflected =
false);
55 void AddLitePhotons(std::map<
int, std::map<int, int>>* StepPhotonTable,
bool Reflected =
false)
60 std::vector<sim::SimPhotons>&
GetPhotons(
bool Reflected =
false)
104 std::string
const& vol =
"EMPTY");
106 std::unordered_map<std::string, std::vector<sim::SimEnergyDeposit>>
const&
117 std::map<int, int>& ChannelMap,
122 std::vector<sim::OpDetBacktrackerRecord>
124 std::vector<sim::OpDetBacktrackerRecord>
131 std::unordered_map<std::string, std::vector<sim::SimEnergyDeposit>>
fSimEDepCol;
std::vector< sim::OpDetBacktrackerRecord > YieldReflectedOpDetBacktrackerRecords()
All information of a photon entering the sensitive optical detector volume.
std::map< int, int > & GetReflectedLitePhotonsForOpChannel(int opchannel)
std::unordered_map< std::string, std::vector< sim::SimEnergyDeposit > > YieldSimEnergyDeposits()
Yields the map of energy deposits by volume name, and resets the internal one.
sim::SimPhotons & GetReflectedPhotonsForOpChannel(size_t opchannel)
std::vector< sim::SimPhotons > & GetReflectedPhotons()
Energy deposited on a readout Optical Detector by simulated tracks.
sim::SimPhotons & GetPhotonsForOpChannel(size_t opchannel)
void AddLitePhotons(std::map< int, std::map< int, int >> *StepPhotonTable, bool Reflected=false)
std::map< int, std::map< int, int > > fLitePhotons
std::map< int, int > & GetLitePhotonsForOpChannel(int opchannel)
std::vector< sim::SimPhotons > & GetPhotons(bool Reflected=false)
Simulation objects for optical detectors.
std::unordered_map< std::string, std::vector< sim::SimEnergyDeposit > > const & GetSimEnergyDeposits() const
Returns the map of energy deposits by volume name.
void AddPhoton(size_t opchannel, sim::OnePhoton &&photon, bool Reflected=false)
std::map< int, std::map< int, int > > GetReflectedLitePhotons()
std::vector< sim::OpDetBacktrackerRecord > cReflectedOpDetBacktrackerRecordsCol
std::vector< sim::SimPhotons > fReflectedDetectedPhotons
void AddOpDetBacktrackerRecord(sim::OpDetBacktrackerRecord soc, bool Reflected=false)
void AddLitePhoton(int opchannel, int time, int nphotons, bool Reflected=false)
static OpDetPhotonTable * Instance(bool LitePhotons=false)
Collection of photons which recorded on one channel.
std::vector< sim::OpDetBacktrackerRecord > YieldOpDetBacktrackerRecords()
std::unordered_map< std::string, std::vector< sim::SimEnergyDeposit > > fSimEDepCol
contains information for a single step in the detector simulation
std::vector< sim::OpDetBacktrackerRecord > cOpDetBacktrackerRecordsCol
std::map< int, std::map< int, int > > GetLitePhotons(bool Reflected=false)
void ClearTable(size_t nch=0)
void AddEnergyDeposit(int n_photon, int n_elec, double scint_yield, double energy, float start_x, float start_y, float start_z, float end_x, float end_y, float end_z, double start_time, double end_time, int trackid, int pdgcode, int g4trackid, std::string const &vol="EMPTY")
std::vector< sim::SimPhotons > fDetectedPhotons
std::map< int, std::map< int, int > > fReflectedLitePhotons
void ClearEnergyDeposits()
std::map< int, int > cOpChannelToSOCMap
std::map< int, int > cReflectedOpChannelToSOCMap