1 #ifndef __JTOOLS__JROUTER__
2 #define __JTOOLS__JROUTER__
16 namespace JPP {
using namespace JTOOLS; }
20 using JLANG::JComparisonAvailable;
26 template<class JAddress_t, bool has_eq = JComparisonAvailable<JAddress_t>::has_eq>
33 template<
class JAddress_t>
45 std::vector<JAddress_t>(),
64 static JAddress_t address;
88 std::swap(this->
first, router.first);
101 this->
first = router.first;
103 if (router.size() > this->size()) {
104 this->resize(router.size());
119 this->push_back(address);
123 }
else if (id < this->
first) {
125 this->insert(this->begin(), this->first -
id, getDefaultAddress());
129 (*this)[0] = address;
133 const size_t index = (size_t) (
id - this->first);
135 if (index >= this->size()) {
136 this->resize(index + 1, getDefaultAddress());
139 (*this)[index] = address;
152 return (
id >= this->
first && id < this->
first + (
int) this->size());
162 const JAddress_t&
get(
const int id)
const
164 return (*
this)[
id - this->
first];
175 template<
class JAddress_t>
177 public JRouter<JAddress_t, false>
239 return __is_valid && address == __address;
266 defaultAddress(address)
277 return defaultAddress.is_valid();
288 return defaultAddress.getAddress();
299 defaultAddress = JAddress(address);
309 bool has(
const int id)
const
311 return (this->in_range(
id) && !this->defaultAddress.equals(
this->get(
id)));
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
JArgument< T >::argument_type argument_type