12 #ifndef ICARUSCODE_PMT_TRIGGER_ALGORITHMS_WINDOWCHANNELMAP_H
13 #define ICARUSCODE_PMT_TRIGGER_ALGORITHMS_WINDOWCHANNELMAP_H
31 namespace icarus::trigger {
32 class WindowChannelMap;
33 std::ostream&
operator<< (std::ostream& , WindowChannelMap
const&);
60 = std::numeric_limits<WindowIndex_t>::max();
110 void dump(std::ostream& out, std::string
const& indent =
"")
const;
138 std::ostream& out, std::string
const& indent, std::string
const& firstIndent
140 void dump(std::ostream& out, std::string
const& indent =
"")
const
141 {
dump(out, indent, indent); }
174 #endif // ICARUSCODE_PMT_TRIGGER_ALGORITHMS_WINDOWCHANNELMAP_H
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
WindowIndex_t upstream
Index of the window upstream of this one.
bool hasCryostat() const
Returns whether the window is in a single, known cryostat.
bool hasUpstreamWindow() const
Returns whether the main window has another upstream of it.
bool hasDownstreamWindow() const
Returns whether the main window has another downstream of it.
WindowComposition_t composition
WindowIndex_t downstream
Index of the window downstream of this one.
std::ostream & operator<<(std::ostream &out, icarus::trigger::ApplyBeamGateClass const &gate)
static const WindowIndex_t InvalidWindowIndex
Special index denoting an invalid window.
WindowInfo_t const & reference_type
bool isValid
Whether this ID points to a valid element.
WindowTopology_t topology
bool hasWindow(WindowIndex_t index) const
Returns whether a window with the specified index is present.
bool hasOppositeWindow() const
Returns whether the main window has another downstream of it.
std::size_t nWindows() const
Number of sliding windows.
Information about composition and topology of trigger sliding windows.
Geometric location and composition of the window.
std::size_t WindowIndex_t
Type of window index.
Information of a single window.
geo::Point_t center
Center of the window.
Information of the identity and neighbourhood of a window.
Definitions of geometry vector data types.
WindowChannelMap(std::vector< WindowInfo_t > &&windows)
Construction: moves the windows information into the map.
void dump(std::ostream &out, std::string const &indent="") const
Definition of data types for geometry description.
WindowInfo_t const * pointer_type
geo::CryostatID cryoid
Which cryostat the channels are in.
static bool isValidWindow(WindowIndex_t index)
Returns whether the specified index is not the invalid window index.
std::vector< raw::Channel_t > channels
Optical detector channels covered by this window.
std::vector< WindowInfo_t > fWindows
WindowIndex_t opposite
Index of the window opposite to this one.
WindowIndex_t index
Index of the window this information is about.
void dump(std::ostream &out, std::string const &indent, std::string const &firstIndent) const
Prints the content of the full mapping.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
void dump(std::ostream &out, std::string const &indent="") const
Prints the information content (single line).
WindowInfo_t const & info(WindowIndex_t index) const
Returns the information for the window with specified index (unchecked).
The data type to uniquely identify a cryostat.