48 return (phi >= 0 ? phi : phi + 2 *
M_PI);
53 std::vector<const GeometricTimingDet*>
const&
comp = a->
components().back()->components();
69 double temp = phi /
float(comp.size()) < 0. ? 2 *
M_PI + phi /
float(comp.size()) : phi /
float(comp.size());
74 double phi1 =
i->phi() >= 0 ?
i->phi() :
i->phi() + 2 *
M_PI;
78 double com = comp.front()->phi() >= 0 ? comp.front()->phi() : 2 *
M_PI + comp.front()->phi();
80 =
std::abs(phi /
float(comp.size()) - com) > 2. ?
M_PI - phi /
float(comp.size()) : phi /
float(comp.size());
81 temp = temp >= 0 ? temp : 2 *
M_PI +
temp;
88 std::vector<const GeometricTimingDet*>
comp;
93 for (
auto&
i : comp) {
101 for (
auto&
i : comp) {
105 double temp = phi /
float(comp.size()) < 0. ? 2 *
M_PI + phi /
float(comp.size()) : phi /
float(comp.size());
109 for (
auto&
i : comp) {
110 double phi1 =
i->phi() >= 0 ?
i->phi() :
i->translation().phi() + 2 *
M_PI;
114 double com = comp.front()->phi() >= 0 ? comp.front()->phi() : 2 *
M_PI + comp.front()->phi();
116 =
std::abs(phi /
float(comp.size()) - com) > 2. ?
M_PI - phi /
float(comp.size()) : phi /
float(comp.size());
117 temp = temp >= 0 ? temp : 2 *
M_PI +
temp;
125 phi = (phi >= 0 ? phi : phi + 2 *
M_PI);
132 phi = (phi <=
M_PI ? phi : phi - 2 *
M_PI);
139 phi = (phi <=
M_PI ? phi : phi - 2 *
M_PI);
153 LogTrace(
"GeometricTimingDetBuilding")
155 << tracker->
type() <<
" " << tracker->
name() << std::endl;
bool parent()
set the current node to the parent node ...
static bool subDetByType(const GeometricTimingDet *a, const GeometricTimingDet *b)
static bool phiSortNP(const GeometricTimingDet *a, const GeometricTimingDet *b)
static bool isLessR(const GeometricTimingDet *a, const GeometricTimingDet *b)
bool nextSibling()
set the current node to the next sibling ...
static double getPhi(const GeometricTimingDet *a)
GeometricTimingEnumType type() const
static double getPhiGluedModule(const GeometricTimingDet *a)
static double getPhiGluedModuleMirror(const GeometricTimingDet *a)
const std::vector< DDGeoHistory > & history() const
ConstGeometricTimingDetContainer & components()
DDTranslation const & translation() const
ConstGeometricTimingDetContainer deepComponents() const
virtual void sortNS(DDFilteredView &, GeometricTimingDet *)
Abs< T >::type abs(const T &t)
static bool isLessRModule(const GeometricTimingDet *a, const GeometricTimingDet *b)
void build(DDFilteredView &, GeometricTimingDet *, std::string) override
static bool isLessZ(const GeometricTimingDet *a, const GeometricTimingDet *b)
static double getPhiModule(const GeometricTimingDet *a)
virtual void buildComponent(DDFilteredView &, GeometricTimingDet *, std::string)=0
DDName const & name() const
static bool isLessModZ(const GeometricTimingDet *a, const GeometricTimingDet *b)
bool firstChild()
set the current node to the first child ...
static double getPhiModuleMirror(const GeometricTimingDet *a)
static double getPhiMirror(const GeometricTimingDet *a)