Aid in the rendering of RawData objects. More...
#include <RawDataDrawer.h>
Classes | |
class | BoxDrawer |
struct | BoxInfo_t |
class | ManyOperations |
class | OperationBaseClass |
struct | PadResolution_t |
class | RoIextractorClass |
Public Member Functions | |
RawDataDrawer () | |
~RawDataDrawer () | |
void | RawDigit2D (art::Event const &evt, detinfo::DetectorPropertiesData const &detProp, evdb::View2D *view, unsigned int plane, bool bZoomToRoI=false) |
Draws raw digit content in 2D wire plane representation. More... | |
void | FillQHisto (const art::Event &evt, unsigned int plane, TH1F *histo) |
void | FillTQHisto (const art::Event &evt, unsigned int plane, unsigned int wire, TH1F *histo) |
double | StartTick () const |
double | TotalClockTicks () const |
void | ExtractRange (TVirtualPad *pPad, std::vector< double > const *zoom=nullptr) |
Fills the viewport information from the specified pad. More... | |
void | SetDrawingLimits (float low_wire, float high_wire, float low_tdc, float high_tdc) |
Fills the viewport borders from the specified extremes. More... | |
int | GetRegionOfInterest (int plane, int &minw, int &maxw, int &mint, int &maxt) |
void | ResetRegionOfInterest () |
Forgets about the current region of interest. More... | |
bool | hasRegionOfInterest (geo::PlaneID::PlaneID_t plane) const |
void | GetChargeSum (int plane, double &charge, double &convcharge) |
Private Member Functions | |
void | Reset (art::Event const &event) |
Prepares for a new event (if somebody tells it to) More... | |
void | GetRawDigits (art::Event const &evt) |
Reads raw::RawDigits; also triggers Reset() More... | |
bool | ProcessChannelWithStatus (lariov::ChannelStatusProvider::Status_t channel_status) const |
Returns whether a channel with the specified status should be processed. More... | |
void | DrawRawDigit2D (art::Event const &evt, evdb::View2D *view, unsigned int plane) |
Performs the 2D wire plane drawing. More... | |
void | GetRawDigits (art::Event const &evt, details::CacheID_t const &new_timestamp) |
Makes sure raw::RawDigit's are available for the current settings. More... | |
bool | RunOperation (art::Event const &evt, OperationBaseClass *operation) |
void | QueueDrawingBoxes (evdb::View2D *view, geo::PlaneID const &pid, std::vector< BoxInfo_t > const &BoxInfo) |
void | RunDrawOperation (art::Event const &evt, detinfo::DetectorPropertiesData const &detProp, evdb::View2D *view, unsigned int plane) |
void | RunRoIextractor (art::Event const &evt, unsigned int plane) |
void | SetDrawingLimitsFromRoI (geo::PlaneID::PlaneID_t plane) |
void | SetDrawingLimitsFromRoI (geo::PlaneID const pid) |
Private Attributes | |
evd::details::RawDigitCacheDataClass * | digit_cache |
Cache of raw digits. More... | |
double | fStartTick |
low tick More... | |
double | fTicks |
number of ticks of the clock More... | |
std::vector< int > | fWireMin |
lowest wire in interesting region for each plane More... | |
std::vector< int > | fWireMax |
highest wire in interesting region for each plane More... | |
std::vector< int > | fTimeMin |
lowest time in interesting region for each plane More... | |
std::vector< int > | fTimeMax |
highest time in interesting region for each plane More... | |
std::vector< double > | fRawCharge |
Sum of Raw Charge. More... | |
std::vector< double > | fConvertedCharge |
Sum of Charge Converted using Birks' formula. More... | |
PadResolution_t | PadResolution |
stored pad resolution More... | |
details::CacheID_t * | fCacheID |
information about the last processed plane More... | |
details::CellGridClass * | fDrawingRange |
information about the viewport More... | |
Static Private Attributes | |
static std::vector < raw::RawDigit > const | EmptyRawDigits |
Empty collection, used in return value of invalid digits. More... | |
Friends | |
class | BoxDrawer |
class | RoIextractorClass |
Aid in the rendering of RawData objects.
Definition at line 43 of file RawDataDrawer.h.
evd::RawDataDrawer::RawDataDrawer | ( | ) |
Definition at line 695 of file RawDataDrawer.cxx.
evd::RawDataDrawer::~RawDataDrawer | ( | ) |
Definition at line 721 of file RawDataDrawer.cxx.
|
private |
Performs the 2D wire plane drawing.
void evd::RawDataDrawer::ExtractRange | ( | TVirtualPad * | pPad, |
std::vector< double > const * | zoom = nullptr |
||
) |
Fills the viewport information from the specified pad.
Definition at line 762 of file RawDataDrawer.cxx.
void evd::RawDataDrawer::FillQHisto | ( | const art::Event & | evt, |
unsigned int | plane, | ||
TH1F * | histo | ||
) |
Definition at line 1484 of file RawDataDrawer.cxx.
void evd::RawDataDrawer::FillTQHisto | ( | const art::Event & | evt, |
unsigned int | plane, | ||
unsigned int | wire, | ||
TH1F * | histo | ||
) |
Definition at line 1554 of file RawDataDrawer.cxx.
void evd::RawDataDrawer::GetChargeSum | ( | int | plane, |
double & | charge, | ||
double & | convcharge | ||
) |
Definition at line 1476 of file RawDataDrawer.cxx.
|
private |
Reads raw::RawDigits; also triggers Reset()
|
private |
Makes sure raw::RawDigit's are available for the current settings.
evt | event to read the digits from |
ts | a cache ID assessing the new state the cache should move to |
The function will ask the data cache for an update (RawDigitCacheDataClass::Update()). The cache will evaluate whether it is already in a state compatible with ts or if cache needs to be invalidated, in which case it will fill with new data. This method also triggers a Reset() if the target state differs from the old one.
Definition at line 1753 of file RawDataDrawer.cxx.
int evd::RawDataDrawer::GetRegionOfInterest | ( | int | plane, |
int & | minw, | ||
int & | maxw, | ||
int & | mint, | ||
int & | maxt | ||
) |
Definition at line 1447 of file RawDataDrawer.cxx.
bool evd::RawDataDrawer::hasRegionOfInterest | ( | geo::PlaneID::PlaneID_t | plane | ) | const |
Returns whether there is currently a valid region of interest for the specified plane
Definition at line 1728 of file RawDataDrawer.cxx.
|
private |
Returns whether a channel with the specified status should be processed.
Definition at line 1773 of file RawDataDrawer.cxx.
|
private |
Definition at line 1159 of file RawDataDrawer.cxx.
void evd::RawDataDrawer::RawDigit2D | ( | art::Event const & | evt, |
detinfo::DetectorPropertiesData const & | detProp, | ||
evdb::View2D * | view, | ||
unsigned int | plane, | ||
bool | bZoomToRoI = false |
||
) |
Draws raw digit content in 2D wire plane representation.
evt | source for raw digits |
view | target rendered object |
plane | number of the plane to be drawn |
bZoomToRoI | whether to render only te region of interest |
This function performs pre-rendering of the raw digit content into a 2D view of the wire plane as TDC vs. wire number. The material for rendering is created and sent to view object for actual rendering. The pre-rendering result currently depends on information from the current rendering canvas, and in particular on its viewport in the (wire, TDC) space.
If no zoom to the region of interest is required, the region itself is computed (only if not known yet) while the rendering is performed. If the zoom is required instead, rendering is performed in two steps; in the first, run only of no region of interest is known yet, the region is extracted. In the second, that information is used for rendering.
Definition at line 1333 of file RawDataDrawer.cxx.
|
private |
Prepares for a new event (if somebody tells it to)
void evd::RawDataDrawer::ResetRegionOfInterest | ( | ) |
Forgets about the current region of interest.
Definition at line 1737 of file RawDataDrawer.cxx.
|
private |
Definition at line 1238 of file RawDataDrawer.cxx.
|
private |
Definition at line 964 of file RawDataDrawer.cxx.
|
private |
Definition at line 1309 of file RawDataDrawer.cxx.
void evd::RawDataDrawer::SetDrawingLimits | ( | float | low_wire, |
float | high_wire, | ||
float | low_tdc, | ||
float | high_tdc | ||
) |
Fills the viewport borders from the specified extremes.
Definition at line 730 of file RawDataDrawer.cxx.
|
private |
Definition at line 756 of file RawDataDrawer.cxx.
|
inlineprivate |
Definition at line 208 of file RawDataDrawer.h.
|
inline |
Definition at line 80 of file RawDataDrawer.h.
|
inline |
Definition at line 85 of file RawDataDrawer.h.
|
friend |
Definition at line 133 of file RawDataDrawer.h.
|
friend |
Definition at line 143 of file RawDataDrawer.h.
|
private |
Cache of raw digits.
Definition at line 147 of file RawDataDrawer.h.
|
staticprivate |
Empty collection, used in return value of invalid digits.
Definition at line 214 of file RawDataDrawer.h.
|
private |
information about the last processed plane
Definition at line 173 of file RawDataDrawer.h.
|
private |
Sum of Charge Converted using Birks' formula.
Definition at line 169 of file RawDataDrawer.h.
|
private |
information about the viewport
Definition at line 176 of file RawDataDrawer.h.
|
private |
Sum of Raw Charge.
Definition at line 168 of file RawDataDrawer.h.
|
private |
low tick
Definition at line 160 of file RawDataDrawer.h.
|
private |
number of ticks of the clock
Definition at line 161 of file RawDataDrawer.h.
|
private |
highest time in interesting region for each plane
Definition at line 166 of file RawDataDrawer.h.
|
private |
lowest time in interesting region for each plane
Definition at line 165 of file RawDataDrawer.h.
|
private |
highest wire in interesting region for each plane
Definition at line 164 of file RawDataDrawer.h.
|
private |
lowest wire in interesting region for each plane
Definition at line 163 of file RawDataDrawer.h.
|
private |
stored pad resolution
Definition at line 171 of file RawDataDrawer.h.