34 #ifndef OPDETPHOTONTABLE_h
35 #define OPDETPHOTONTABLE_h 1
38 #include <unordered_map>
54 void AddLitePhoton(
int opchannel,
int time,
int nphotons,
bool Reflected=
false);
55 void AddPhoton(std::map<
int, std::map<int, int>>* StepPhotonTable,
bool Reflected=
false);
56 void AddLitePhotons(std::map<
int, std::map<int, int>>* StepPhotonTable,
bool Reflected=
false) {
AddPhoton(StepPhotonTable, Reflected); }
78 float start_x,
float start_y,
float start_z,
79 float end_x,
float end_y,
float end_z,
81 int trackid,
int pdgcode,
int g4trackid,
82 std::string
const& vol=
"EMPTY");
84 std::unordered_map<std::string, std::vector<sim::SimEnergyDeposit> >
const&
GetSimEnergyDeposits()
const;
95 std::map<int, int> &ChannelMap,
109 std::unordered_map<std::string, std::vector<sim::SimEnergyDeposit> >
fSimEDepCol;
std::vector< sim::OpDetBacktrackerRecord > YieldReflectedOpDetBacktrackerRecords()
std::map< int, std::map< int, int > > fLitePhotons
process_name can override from command line with o or output photon
All information of a photon entering the sensitive optical detector volume.
std::map< int, int > & GetReflectedLitePhotonsForOpChannel(int opchannel)
std::map< int, std::map< int, int > > fReflectedLitePhotons
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)
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, int > & GetLitePhotonsForOpChannel(int opchannel)
Simulation objects for optical detectors.
then echo fcl sbnd_project sbnd_project sbnd_project sbnd_project production production end_time
std::vector< sim::SimPhotons > & GetPhotons(bool Reflected=false)
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::SimPhotons > fReflectedDetectedPhotons
std::vector< sim::SimPhotons > & GetReflectedPhotons()
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)
std::vector< sim::OpDetBacktrackerRecord > cReflectedOpDetBacktrackerRecordsCol
Collection of photons which recorded on one channel.
then echo fcl sbnd_project sbnd_project sbnd_project sbnd_project production production start_time
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::map< int, std::map< int, int > > GetLitePhotons(bool Reflected=false)
std::vector< sim::OpDetBacktrackerRecord > cOpDetBacktrackerRecordsCol
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
void ClearEnergyDeposits()
std::map< int, int > cOpChannelToSOCMap
std::map< int, int > cReflectedOpChannelToSOCMap