LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SimPhotonCounterAlg.h
Go to the documentation of this file.
1 #ifndef SIMPHOTONCOUNTERALG_H
2 #define SIMPHOTONCOUNTERALG_H
3 
12 #include "SimPhotonCounter.h"
13 
14 #include "fhiclcpp/ParameterSet.h"
15 
17 
18 namespace geo {
19  class GeometryCore;
20 }
21 namespace opdet {
22  class OpDigiProperties;
23 }
24 
25 #include <vector>
26 
27 namespace opdet {
28 
30 
31  public:
33 
34  void InitializeCounters(geo::GeometryCore const&, opdet::OpDigiProperties const&);
35 
36  void AddSimPhotonCollection(sim::SimPhotonsCollection const&);
37  void AddSimPhotonsVector(std::vector<sim::SimPhotons> const&);
38 
39  void ClearCounters();
40 
41  SimPhotonCounter const& GetSimPhotonCounter(size_t);
42  std::vector<float> const& PromptPhotonVector(size_t);
43  std::vector<float> const& LatePhotonVector(size_t);
44 
45  private:
46  std::vector<std::vector<float>> fWavelengthRanges;
47  std::vector<std::vector<float>> fTimeRanges;
48  std::vector<SimPhotonCounter> fCounters;
49 
50  void FillAllRanges(std::vector<fhicl::ParameterSet> const&);
51  void FillRanges(fhicl::ParameterSet const&);
52  };
53 
54 }
55 
56 #endif
std::vector< std::vector< float > > fWavelengthRanges
std::vector< SimPhotonCounter > fCounters
Simulation objects for optical detectors.
Description of geometry of one entire detector.
Definition: GeometryCore.h:119
Namespace collecting geometry-related classes utilities.
std::vector< std::vector< float > > fTimeRanges
Collection of sim::SimPhotons, indexed by channel number.
Definition: SimPhotons.h:178