Jpp
|
Local coincidence cluster builder. More...
#include <JClusterBuilder.hh>
Classes | |
class | MinimalMultiplicityFunctor |
functor that compares the multiplicity of a JCluster to some fixed given multiplicity. More... | |
Public Types | |
typedef JHitL1 | value_type |
typedef JMatch< value_type > | match_type |
Public Member Functions | |
JClusterBuilder (const double window, const bool combine) | |
default constructor More... | |
JClusterBuilder (const JDAQSuperFrame &frame, const JModule &module, const double window, const bool combine) | |
constructor More... | |
void | reset (const JDAQSuperFrame &frame, const JModule &module) |
This is a way to re-use the allocated memory. More... | |
vector< JCluster >::const_iterator | begin_m (unsigned int multiplicity) const |
returns begin iterator for clusters with exactly the given multiplicity More... | |
vector< JCluster >::const_iterator | end_m (unsigned int multiplicity) const |
returns end iterator for clusters with exactly the given multiplicity More... | |
vector< JCluster >::const_iterator | begin_inclusive_m (unsigned int multiplicity) const |
returns begin iterator for clusters with at least the given multiplicity More... | |
vector< JCluster >::const_iterator | end_inclusive_m (unsigned int multiplicity) const |
returns end iterator for clusters with at least the given multiplicity More... | |
unsigned int | getNclusters (const unsigned int multiplicity) const |
return the number of clusters with exactly the given multiplicity More... | |
unsigned int | getInclusiveNclusters (const unsigned int multiplicity) const |
return the number of clusters with at least the given multiplicity More... | |
template<class JOutput_t > | |
void | operator() (const JSuperFrame2D< JHit > &input, JOutput_t out) const |
Build hits from calibrated data. More... | |
template<class JOutput_t > | |
void | operator() (const JDAQSuperFrame &input, const JModule &module, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (typename JSuperFrame2D< JHit >::const_iterator __begin, typename JSuperFrame2D< JHit >::const_iterator __end, JOutput_t out) const |
Build hits from set of frames with calibrated data. More... | |
void | operator() (const JSuperFrame1D< JHit > &input, JOutput_t out) const |
Build hits from calibrated data. More... | |
void | operator() (const JDAQTimeslice ×lice, const JModuleRouter &router, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (const JDAQEvent &event, const JModuleRouter &router, bool snapshot, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (const JDAQEvent &event, const JModuleRouter &router, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (const JDAQTimeslice ×lice, const JModuleRouter &router, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (const JDAQEvent &event, const JModuleRouter &router, bool snapshot, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | operator() (const JDAQEvent &event, const JModuleRouter &router, JOutput_t out) const |
Build hits from uncalibrated DAQ data. More... | |
void | setPreprocessor (const JPreprocessor::JOption_t option, const match_type &match) |
Set pre-processor. More... | |
JSuperFrame2D< JHit > & | demultiplex (const JDAQSuperFrame &input, const JModule &module) const |
Demultiplex and pre-process DAQ super frame. More... | |
const JPMT & | getPMT (const int index) const |
Get PMT. More... | |
JPMT & | getPMT (const int index) |
Get PMT. More... | |
void | setPMT (const int index, const JPMT &pmt) |
Set PMT. More... | |
void | compile () |
Compile position of module from the positions of the PMTs. More... | |
void | rotate (const JRotation3D &R) |
Rotate module. More... | |
void | rotate (const JQuaternion3D &Q) |
Rotate module. More... | |
JPosition3D & | rotate (const JRotation3X &R) |
Rotate around X-axis. More... | |
JPosition3D & | rotate (const JRotation3Y &R) |
Rotate around Y-axis. More... | |
JPosition3D & | rotate (const JRotation3Z &R) |
Rotate around Z-axis. More... | |
void | rotate_back (const JRotation3D &R) |
Rotate back module. More... | |
void | rotate_back (const JQuaternion3D &Q) |
Rotate back module. More... | |
JPosition3D & | rotate_back (const JRotation3X &R) |
Rotate back around X-axis. More... | |
JPosition3D & | rotate_back (const JRotation3Y &R) |
Rotate back around Y-axis. More... | |
JPosition3D & | rotate_back (const JRotation3Z &R) |
Rotate back around Z-axis. More... | |
void | transform (const JRotation3D &R, const JVector3D &pos) |
Transformation of geometry (see method JGEOMETRY3D::JPosition3D::transform(const JRotation3D&, const JVector3D&)). More... | |
void | transform (const JTransformation3D &T) |
Transformation of geometry. More... | |
JVector3D & | transform (const JMatrix3D &T) |
Transform. More... | |
JVector3D & | transform (const JMatrix3D &T) |
Transform. More... | |
JModule & | set (const JVector3D &pos) |
Set position. More... | |
JModule & | set (const double t0) |
Set time offset. More... | |
JModule & | add (const JVector3D &pos) |
Add position. More... | |
JModule & | add (const double t0) |
Add time offset. More... | |
JModule & | sub (const JVector3D &pos) |
Subtract position. More... | |
JModule & | sub (const double t0) |
Subtract time offset. More... | |
JModule & | operator+= (const JVector3D &pos) |
Add position. More... | |
JModule & | operator-= (const JVector3D &pos) |
Subtract position. More... | |
int | getID () const |
Get identifier. More... | |
void | setID (const int id) |
Set identifier. More... | |
bool | less (const JObjectID &object) const |
Less than method. More... | |
bool | less (const int id) const |
Less than method. More... | |
bool | less (const JModuleLocation &location) const |
Less than method. More... | |
bool | more (const int id) const |
More than method. More... | |
const JModuleLocation & | getLocation () const |
Get location. More... | |
JModuleLocation & | getLocation () |
Get location. More... | |
void | setLocation (const JModuleLocation &location) |
Set location. More... | |
std::string | toString () const |
Convert module location to string. More... | |
std::string | toString (const std::string &fmt, const std::string target="%") const |
Convert module loation to string. More... | |
int | getString () const |
Get string number. More... | |
int | getFloor () const |
Get floor number. More... | |
const JPosition3D & | getPosition () const |
Get position. More... | |
JPosition3D & | getPosition () |
Get position. More... | |
void | setPosition (const JVector3D &pos) |
Set position. More... | |
operator JAngle3D () const | |
Type conversion operator. More... | |
operator JVersor3D () const | |
Type conversion operator. More... | |
void | transform_back (const JRotation3D &R, const JVector3D &pos) |
Transform back position. More... | |
double | getDot (const JAngle3D &angle) const |
Get dot product. More... | |
double | getDot (const JVersor3D &dir) const |
Get dot product. More... | |
double | getDot (const JVersor3Z &dir) const |
Get dot product. More... | |
double | getDot (const JVector3D &vector) const |
Get dot product. More... | |
double | getDot (const JVector3D &vector) const |
Get dot product. More... | |
operator JVector2D () const | |
Type conversion operator. More... | |
double | getX () const |
Get x position. More... | |
double | getY () const |
Get y position. More... | |
double | getZ () const |
Get z position. More... | |
JVector3D & | negate () |
Negate vector. More... | |
JVector3D & | mul (const double factor) |
Scale vector. More... | |
JVector3D & | mul (const JSecond_t &object) |
Multiply with object. More... | |
JVector3D & | div (const double factor) |
Scale vector. More... | |
bool | equals (const JVector3D &vector, const double precision=std::numeric_limits< double >::min()) const |
Check equality. More... | |
double | getLengthSquared () const |
Get length squared. More... | |
double | getLength () const |
Get length. More... | |
double | getDistanceSquared (const JVector3D &pos) const |
Get squared of distance to point. More... | |
double | getDistance (const JVector3D &pos) const |
Get distance to point. More... | |
JVector3D & | cross (const JVector3D &first, const JVector3D &second) |
Get cross product. More... | |
Static Public Member Functions | |
static const JModule & | getInstance () |
Get reference to unique instance of this class object. More... | |
static bool | compare (const JModule &first, const JModule &second, const double precision=1.0e-3) |
Compare modules. More... | |
Public Attributes | |
double | TMax_ns |
bool | combine |
JPreprocessor::JOption_t | option |
pre-processor option More... | |
JLANG::JSharedPointer< match_type > | match |
match criterion More... | |
Protected Member Functions | |
void | setEndIterators () |
Use std::partition to sort the clusters in order of decreasing multiplicity. More... | |
Protected Attributes | |
const unsigned int | max_multiplicity |
the highest allowed value for the multiplicity More... | |
vector< vector< JCluster >::iterator > | end_iterators |
iterators pointing to the first element whose multiplicity is lower than the index More... | |
int | __id |
int | string |
int | floor |
double | __x |
double | __y |
double | __z |
Private Attributes | |
std::vector< JHit > | buffer |
Local coincidence cluster builder.
A coincidence cluster is defined as two or more hits on the same DOM within the defined time window.
Given a JDAQSuperframe (for the hits) and the corresponding JModule (for the timing) all the coincidence clusters are extracted and sorted by multiplicity.
Internally, the clusters are stored as a vector of JClusters
frame | JDAQSuperframe containing the hits |
module | module corresponding to the JDAQSuperframe |
window | time window used for clustering |
Definition at line 47 of file JClusterBuilder.hh.
|
inherited |
Definition at line 205 of file JBuildL1.hh.
|
inherited |
|
inline |
default constructor
Definition at line 52 of file JClusterBuilder.hh.
|
inline |
constructor
Definition at line 58 of file JClusterBuilder.hh.
|
inline |
This is a way to re-use the allocated memory.
It behaves like the constructor, but new memory does not have to be allocated for vector<JCluster> all the time.
Definition at line 72 of file JClusterBuilder.hh.
|
inline |
returns begin iterator for clusters with exactly the given multiplicity
Definition at line 82 of file JClusterBuilder.hh.
|
inline |
returns end iterator for clusters with exactly the given multiplicity
Definition at line 90 of file JClusterBuilder.hh.
|
inline |
returns begin iterator for clusters with at least the given multiplicity
Definition at line 98 of file JClusterBuilder.hh.
|
inline |
returns end iterator for clusters with at least the given multiplicity
Definition at line 103 of file JClusterBuilder.hh.
|
inline |
return the number of clusters with exactly the given multiplicity
Definition at line 108 of file JClusterBuilder.hh.
|
inline |
return the number of clusters with at least the given multiplicity
Definition at line 113 of file JClusterBuilder.hh.
|
inlineprotected |
Use std::partition to sort the clusters in order of decreasing multiplicity.
The end_iterators denote the boundaries.
Definition at line 123 of file JClusterBuilder.hh.
|
inlineinherited |
Build hits from calibrated data.
The output data are time sorted.
input | input L0 data |
out | output L1 data |
Definition at line 227 of file JBuildL1.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The time calibration is applied. The output data are time sorted.
input | DAQ super frame |
module | module |
out | output L1 data |
Definition at line 266 of file JBuildL1.hh.
|
inlineinherited |
Build hits from set of frames with calibrated data.
The output data are time sorted.
__begin | begin of input L0 data |
__end | end of input L0 data |
out | output L1 data |
Definition at line 133 of file JBuildL1.hh.
|
inlineinherited |
Build hits from calibrated data.
The output data are time sorted.
input | input L0 data |
out | output L1 data |
Definition at line 150 of file JBuildL1.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The time calibration is applied. Note that the output data are not time sorted.
timeslice | DAQ time slice |
router | module router |
out | output data |
Definition at line 57 of file JBuildHelper.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The time calibration is applied. Note that the output data are not time sorted.
event | DAQ event |
router | module router |
snapshot | use shapshot hits (else use triggered hits) |
out | output data |
Definition at line 81 of file JBuildHelper.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The snapshot data of the DAQ event are used. The time calibration is applied. Note that the output data are not time sorted.
event | DAQ event |
router | module router |
out | output data |
Definition at line 102 of file JBuildHelper.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The time calibration is applied. Note that the output data are not time sorted.
timeslice | DAQ time slice |
router | module router |
out | output data |
Definition at line 57 of file JBuildHelper.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The time calibration is applied. Note that the output data are not time sorted.
event | DAQ event |
router | module router |
snapshot | use shapshot hits (else use triggered hits) |
out | output data |
Definition at line 81 of file JBuildHelper.hh.
|
inlineinherited |
Build hits from uncalibrated DAQ data.
The snapshot data of the DAQ event are used. The time calibration is applied. Note that the output data are not time sorted.
event | DAQ event |
router | module router |
out | output data |
Definition at line 102 of file JBuildHelper.hh.
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
Get reference to unique instance of this class object.
This method returns a module with the standard configuration of PMTs.
Definition at line 89 of file JModule.hh.
|
inlinestaticinherited |
Compare modules.
The comparison only covers the orientations of the modules.
first | first module |
second | second module |
precision | precision |
Definition at line 147 of file JModule.hh.
|
inlineinherited |
Get PMT.
index | readout channel (TDC) |
Definition at line 173 of file JModule.hh.
|
inlineinherited |
Get PMT.
index | readout channel (TDC) |
Definition at line 185 of file JModule.hh.
|
inlineinherited |
|
inlineinherited |
Compile position of module from the positions of the PMTs.
Definition at line 210 of file JModule.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Rotate around X-axis.
R | rotation matrix |
Definition at line 213 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Y-axis.
R | rotation matrix |
Definition at line 241 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Z-axis.
R | rotation matrix |
Definition at line 269 of file JPosition3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Rotate back around X-axis.
R | rotation matrix |
Definition at line 227 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Y-axis.
R | rotation matrix |
Definition at line 255 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Z-axis.
R | rotation matrix |
Definition at line 283 of file JPosition3D.hh.
|
inlineinherited |
Transformation of geometry (see method JGEOMETRY3D::JPosition3D::transform(const JRotation3D&, const JVector3D&)).
R | rotation matrix |
pos | position of origin (after rotation) |
Definition at line 261 of file JModule.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Set time offset.
t0 | time offset [ns] |
Definition at line 371 of file JModule.hh.
|
inlineinherited |
Add time offset.
t0 | time offset [ns] |
Definition at line 387 of file JModule.hh.
Subtract position.
pos | position |
Definition at line 353 of file JModule.hh.
|
inlineinherited |
Subtract time offset.
t0 | time offset [ns] |
Definition at line 403 of file JModule.hh.
Subtract position.
pos | position |
Definition at line 431 of file JModule.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Less than method.
object | object identifier |
Definition at line 78 of file JObjectID.hh.
|
inlineinherited |
Less than method.
id | identifier |
Definition at line 90 of file JObjectID.hh.
|
inlineinherited |
Less than method.
location | module location |
Definition at line 156 of file JModuleLocation.hh.
|
inlineinherited |
More than method.
id | identifier |
Definition at line 102 of file JObjectID.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Convert module loation to string.
The targets target
in the format string fmt
are consecutively replaced by floor
and string
.
fmt | format |
target | target |
Definition at line 117 of file JModuleLocation.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Transform back position.
The final position is obtained as follows:
R | rotation matrix |
pos | position of origin (before rotation) |
Definition at line 358 of file JPosition3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get dot product.
vector | vector |
Definition at line 281 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Scale vector.
factor | multiplication factor |
Definition at line 173 of file JVector3D.hh.
|
inlineinherited |
Multiply with object.
object | object |
Definition at line 273 of file JMath.hh.
|
inlineinherited |
Scale vector.
factor | division factor |
Definition at line 189 of file JVector3D.hh.
|
inlineinherited |
Check equality.
vector | vector |
precision | precision |
Definition at line 220 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get squared of distance to point.
pos | position |
Definition at line 257 of file JVector3D.hh.
|
inlineinherited |
Get distance to point.
pos | position |
Definition at line 269 of file JVector3D.hh.
|
inlineinherited |
Get cross product.
Note that this vector should not overlap with the first or second vector,
first | first vector |
second | second vector |
Definition at line 298 of file JVector3D.hh.
|
protected |
the highest allowed value for the multiplicity
Definition at line 150 of file JClusterBuilder.hh.
iterators pointing to the first element whose multiplicity is lower than the index
Definition at line 156 of file JClusterBuilder.hh.
|
mutableprivateinherited |
Definition at line 276 of file JBuildL1.hh.
|
inherited |
Definition at line 74 of file JBuildL1.hh.
|
inherited |
Definition at line 75 of file JBuildL1.hh.
|
inherited |
|
inherited |
|
protectedinherited |
Definition at line 160 of file JObjectID.hh.
|
protectedinherited |
Definition at line 233 of file JModuleLocation.hh.
|
protectedinherited |
Definition at line 234 of file JModuleLocation.hh.
|
protectedinherited |
Definition at line 309 of file JVector3D.hh.
|
protectedinherited |
Definition at line 310 of file JVector3D.hh.
|
protectedinherited |
Definition at line 311 of file JVector3D.hh.