1 #ifndef __JDB__JPRODUCTROUTER__
2 #define __JDB__JPRODUCTROUTER__
18 namespace JDATABASE {}
19 namespace JPP {
using namespace JDATABASE; }
78 if (this->
string == location.
string) {
87 return this->
string < location.
string;
105 <<
FILL(4,
'0') <<
object.string <<
'.'
106 <<
FILL(2,
'0') <<
object.floor <<
'.'
107 <<
FILL(2,
'0') <<
object.position <<
FILL() << left;
121 public std::map<JUPI_t, JLocation_t>
131 for (JDetectorIntegration_t::const_iterator product = detector.begin(); product != detector.end(); ++product) {
132 if (product->has()) {
133 for (JPBSSequences::const_iterator i = pbs.begin(); i != pbs.end(); ++i) {
134 if (insert(detector, *product, *i)) {
151 const_iterator p = this->find(upi);
153 if (p != this->end())
176 JPBSSequence::const_iterator i = pbs.begin();
186 if (
distance(range.first, range.second) == 1) {
203 if (i == pbs.end()) {
JLocation_t(const int string, const int floor, const int position)
Constructor.
bool less(const JLocation_t &location) const
Less-than method.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Universal product identifier (UPI).
const JPBS_t & getPBS() const
Get PBS.
const JUPI_t & getUPI() const
Get UPI.
int floor
position in string
bool is_valid() const
Check validity of location.
I/O formatting auxiliaries.
Auxiliary data structure for a sequence of PBS values.
Auxiliary data structure for location of product in detector.
JLocation_t getLocation(const JUPI_t &upi) const
Get location of product with given UPI.
JLocation_t()
Default constructor.
Auxiliary data structure for set of PBS sequences.
range_type find(const JUPI_t &upi) const
Find range of products with given UPI.
Auxiliary class to map UPI to location in detector.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary data structure for sequence of same character.
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
friend std::ostream & operator<<(std::ostream &out, const JLocation_t &object)
Write location to output stream.
int position
position in floor
bool insert(const JDetectorIntegration_t &detector, const JProductIntegration_t &product, const JPBSSequence &pbs)
Insert product.
bool is_string(const JPBS_t &pbs)
Test if given PBS corresponds to a string.
JProductRouter(const JDetectorIntegration_t &detector, const JPBSSequences &pbs)
Constructor.
bool is_base_module(const JPBS_t &pbs)
Test if given PBS corresponds to a base module.
do set_variable DETECTOR_TXT $WORKDIR detector
int string
position in detector
bool is_detector(const JPBS_t &pbs)
Test if given PBS corresponds to a detector.
bool is_optical_module(const JPBS_t &pbs)
Test if given PBS corresponds to a optical module.
Auxiliary class for product integration data.