CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
SortRingsByZR Class Reference

#include <SortRingsByZR.h>

Public Member Functions

bool operator() (const Ring *a, const Ring *b) const
 
bool RingsSortedInZR (const Ring *a, const Ring *b) const
 
 SortRingsByZR ()
 
 ~SortRingsByZR ()
 

Detailed Description

Definition at line 20 of file SortRingsByZR.h.

Constructor & Destructor Documentation

SortRingsByZR::SortRingsByZR ( )

Definition at line 18 of file SortRingsByZR.cc.

18  {
19  //
20  // default constructor
21  //
22 }
SortRingsByZR::~SortRingsByZR ( )

Definition at line 24 of file SortRingsByZR.cc.

24  {
25  //
26  // default destructor
27  //
28 }

Member Function Documentation

bool SortRingsByZR::operator() ( const Ring a,
const Ring b 
) const
inline

Definition at line 27 of file SortRingsByZR.h.

References RingsSortedInZR().

27  {
28  return RingsSortedInZR(a,b);
29  }
bool RingsSortedInZR(const Ring *a, const Ring *b) const
bool SortRingsByZR::RingsSortedInZR ( const Ring a,
const Ring b 
) const

Definition at line 30 of file SortRingsByZR.cc.

References Ring::getindex(), and query::result.

Referenced by operator()().

30  {
31  //
32  // return true if rings are sorted in abs ZR, else return false
33  //
34 
35  // return value
36  bool result = true;
37 
38  if ( a->getindex() > b->getindex() ) {
39  result = false;
40  }
41 
42 // double r1 = (a->getrmax() - a->getrmin())/2 + a->getrmin();
43 // double z1 = (a->getzmax() - a->getzmin())/2 + a->getzmin();
44 
45 // double r2 = (b->getrmax() - b->getrmin())/2 + b->getrmin();
46 // double z2 = (b->getzmax() - b->getzmin())/2 + b->getzmin();
47 
48 // if ( a->getType() == b->getType() ) {
49 // if ( a->getType() == Ring::TIBRing ||
50 // a->getType() == Ring::TOBRing ||
51 // a->getType() == Ring::PXBRing ) {
52 // if ( r1 > r2 ) {
53 // result = false;
54 // } else {
55 // if ( z1 > z2 ) {
56 // result = false;
57 // }
58 // }
59 // } else {
60 // if ( z1 > z2 ) {
61 // result = false;
62 // } else {
63 // if ( r1 > r2 ) {
64 // result = false;
65 // }
66 // }
67 // }
68 // } else {
69 // if ( (a->getType() == Ring::PXBRing && b->getType() == Ring::TIBRing) ||
70 // (a->getType() == Ring::TIBRing && b->getType() == Ring::PXBRing) ) {
71 // if ( r1 > r2 ) {
72 // result = false;
73 // }
74 // // else {
75 // // if ( z1 > z2 ) {
76 // // result = false;
77 // // }
78 // // }
79 
80 // } else if ( (a->getType() == Ring::PXBRing && b->getType() == Ring::TOBRing) ||
81 // (a->getType() == Ring::TOBRing && b->getType() == Ring::PXBRing) ) {
82 // if ( r1 > r2 ) {
83 // result = false;
84 // }
85 // // else {
86 // // if ( z1 > z2 ) {
87 // // result = false;
88 // // }
89 // // }
90 
91 // } else if ( (a->getType() == Ring::PXBRing && b->getType() == Ring::PXFRing) ||
92 // (a->getType() == Ring::PXFRing && b->getType() == Ring::PXBRing) ) {
93 // if ( z1 > z2 ) {
94 // result = false;
95 // }
96 // // else {
97 // // if ( r1 > r2 ) {
98 // // result = false;
99 // // }
100 // // }
101 
102 // } else if ( (a->getType() == Ring::PXBRing && b->getType() == Ring::TIDRing) ||
103 // (a->getType() == Ring::TIDRing && b->getType() == Ring::PXBRing) ) {
104 // if ( z1 > z2 ) {
105 // result = false;
106 // }
107 // // else {
108 // // if ( r1 > r2 ) {
109 // // result = false;
110 // // }
111 // // }
112 
113 // } else if ( (a->getType() == Ring::PXBRing && b->getType() == Ring::TECRing) ||
114 // (a->getType() == Ring::TECRing && b->getType() == Ring::PXBRing) ) {
115 // if ( z1 > z2 ) {
116 // result = false;
117 // }
118 // // else {
119 // // if ( r1 > r2 ) {
120 // // result = false;
121 // // }
122 // // }
123 
124 // } else if ( (a->getType() == Ring::TIBRing && b->getType() == Ring::TOBRing) ||
125 // (a->getType() == Ring::TOBRing && b->getType() == Ring::TIBRing) ) {
126 // if ( r1 > r2 ) {
127 // result = false;
128 // }
129 // // else {
130 // // if ( z1 > z2 ) {
131 // // result = false;
132 // // }
133 // // }
134 
135 // } else if ( (a->getType() == Ring::TIBRing && b->getType() == Ring::PXFRing) ||
136 // (a->getType() == Ring::PXFRing && b->getType() == Ring::TIBRing) ) {
137 // if ( r1 > r2 ) {
138 // result = false;
139 // }
140 // // else {
141 // // if ( z1 > z2 ) {
142 // // result = false;
143 // // }
144 // // }
145 
146 // } else if ( (a->getType() == Ring::TIBRing && b->getType() == Ring::TIDRing) ||
147 // (a->getType() == Ring::TIDRing && b->getType() == Ring::TIBRing) ) {
148 // if ( z1 > z2 ) {
149 // result = false;
150 // }
151 // // else {
152 // // if ( r1 > r2 ) {
153 // // result = false;
154 // // }
155 // // }
156 
157 // } else if ( (a->getType() == Ring::TIBRing && b->getType() == Ring::TECRing) ||
158 // (a->getType() == Ring::TECRing && b->getType() == Ring::TIBRing) ) {
159 // if ( z1 > z2 ) {
160 // result = false;
161 // }
162 // // else {
163 // // if ( r1 > r2 ) {
164 // // result = false;
165 // // }
166 // // }
167 
168 // } else if ( (a->getType() == Ring::TOBRing && b->getType() == Ring::PXFRing) ||
169 // (a->getType() == Ring::PXFRing && b->getType() == Ring::TOBRing) ) {
170 // if ( r1 > r2 ) {
171 // result = false;
172 // }
173 // // else {
174 // // if ( z1 > z2 ) {
175 // // result = false;
176 // // }
177 // // }
178 
179 // } else if ( (a->getType() == Ring::TOBRing && b->getType() == Ring::TIDRing) ||
180 // (a->getType() == Ring::TIDRing && b->getType() == Ring::TOBRing) ) {
181 // if ( r1 > r2 ) {
182 // result = false;
183 // }
184 // // else {
185 // // if ( z1 > z2 ) {
186 // // result = false;
187 // // }
188 // // }
189 
190 // } else if ( (a->getType() == Ring::TOBRing && b->getType() == Ring::TECRing) ||
191 // (a->getType() == Ring::TECRing && b->getType() == Ring::TOBRing) ) {
192 // if ( z1 > z2 ) {
193 // result = false;
194 // }
195 // // else {
196 // // if ( r1 > r2 ) {
197 // // result = false;
198 // // }
199 // // }
200 
201 // } else if ( (a->getType() == Ring::PXFRing && b->getType() == Ring::TIDRing) ||
202 // (a->getType() == Ring::TIDRing && b->getType() == Ring::PXFRing) ) {
203 // if ( z1 > z2 ) {
204 // result = false;
205 // }
206 // // else {
207 // // if ( r1 > r2 ) {
208 // // result = false;
209 // // }
210 // // }
211 
212 // } else if ( (a->getType() == Ring::PXFRing && b->getType() == Ring::TECRing) ||
213 // (a->getType() == Ring::TECRing && b->getType() == Ring::PXFRing) ) {
214 // if ( z1 > z2 ) {
215 // result = false;
216 // }
217 // // else {
218 // // if ( r1 > r2 ) {
219 // // result = false;
220 // // }
221 // // }
222 
223 // } else if ( (a->getType() == Ring::TIDRing && b->getType() == Ring::TECRing) ||
224 // (a->getType() == Ring::TECRing && b->getType() == Ring::TIDRing) ) {
225 // if ( z1 > z2 ) {
226 // result = false;
227 // }
228 // // else {
229 // // if ( r1 > r2 ) {
230 // // result = false;
231 // // }
232 // // }
233 
234 // }
235 
236 // }
237 
238 // if ( a->getindex() == 15 || b->getindex() == 15 ) {
239 // std::cout << "a: " << a->getindex() << " b: " << b->getindex() << std::endl;
240 // std::cout << "r1: " << r1 << " r2: " << r2 << " z1: " << z1 << " z2: " << z2 << std::endl;
241 // std::cout << "result: " << result << std::endl;
242 // }
243 
244  return result;
245 }
unsigned int getindex() const
Definition: Ring.h:185
tuple result
Definition: query.py:137