30 #ifndef LARDATAOBJ_SIMULATION_SIMPHOTONS_H
31 #define LARDATAOBJ_SIMULATION_SIMPHOTONS_H
51 class SimPhotonsCollection;
54 bool operator< (OnePhoton
const&, OnePhoton
const&);
79 float Time { std::numeric_limits<float>::min() };
224 void SetSDName(std::string
const& TheSDName);
246 inline bool sim::SimPhotonsLite::operator==
248 {
return OpChannel == other.OpChannel; }
259 {
return OpChannel() == other.
OpChannel(); }
266 {
return fTheSDName; }
269 { fTheSDName = TheSDName; }
274 #endif // LARDATAOBJ_SIMULATION_SIMPHOTONS_H
list_type::allocator_type allocator_type
std::map< int, SimPhotons > list_type
void SetSDName(std::string const &TheSDName)
Sets the name of the sensitive detector for this collection.
bool operator==(const SimPhotons &other) const
Returns whether other is on the same channel (OpChannel) as this.
int OpChannel() const
Returns the optical channel number this object is associated to.
SimPhotonsLite & operator+=(const SimPhotonsLite &rhs)
Add all photons from rhs to this ones, at their original time.
list_type::difference_type difference_type
std::vector< OnePhoton > list_type
list_type::size_type size_type
list_type::size_type size_type
SimPhotonsLite operator+(const SimPhotonsLite &rhs) const
All information of a photon entering the sensitive optical detector volume.
SimPhotons()=default
Default constructor (do not use! it's for ROOT only).
list_type::difference_type difference_type
SimPhotons & operator+=(const SimPhotons &rhs)
Add all photons from rhs to this ones; no sorting is applied.
int fOpChannel
Optical detector channel associated to this data.
list_type::key_compare key_compare
SimPhotons(int chan)
Constructor: associated to optical detector channel chan, and empty.
list_type::key_type key_type
geo::Point_t InitialPosition
Scintillation position in world coordinates [cm].
list_type::reverse_iterator reverse_iterator
std::map< int, int > DetectedPhotons
Number of photons detected at each given time: time tick -> photons.
void SetChannel(int ch)
Sets the optical detector channel number this object is associated to.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definitions of vector data types for optical detectors.
Definitions of geometry vector data types.
list_type::const_reverse_iterator const_reverse_iterator
std::string const & GetSDName() const
Returns the name of the sensitive detector for this collection.
list_type::const_reverse_iterator const_reverse_iterator
int OpChannel
Optical detector channel associated to this data.
SimPhotonsCollection()=default
Constructor: an empty collection and no sensitive detector name.
list_type::iterator iterator
SimPhotonsLite(int chan)
Constructor: associated to optical detector channel chan, and empty.
list_type::iterator iterator
bool operator==(const SimPhotonsLite &other) const
Returns whether other is on the same channel (OpChannel) as this.
list_type::mapped_type mapped_type
list_type::value_type value_type
list_type::reverse_iterator reverse_iterator
Collection of photons which recorded on one channel.
Compact representation of photons on a channel.
bool SetInSD
Whether the photon reaches the sensitive detector.
SimPhotonsLite()=default
Default constructor (do not use! it's for ROOT only).
list_type::const_iterator const_iterator
list_type::value_type value_type
geo::OpticalPoint_t FinalLocalPosition
Where photon enters the optical detector in local coordinates [cm].
SimPhotons operator+(const SimPhotons &rhs) const
list_type::const_iterator const_iterator
OpticalPoint3DBase_t< double > OpticalPoint_t
Type of optical 3D point with representation in double precision.
std::string fTheSDName
Sensitive detector name.
float Energy
Scintillation photon energy [GeV].
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Collection of sim::SimPhotons, indexed by channel number.
bool operator<(const BeamGateInfo &lhs, const BeamGateInfo &rhs)
int MotherTrackID
ID of the GEANT4 track causing the scintillation.