CMS 3D CMS Logo

DDComparator.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DD_COMPARATOR_H
2 #define DETECTOR_DESCRIPTION_CORE_DD_COMPARATOR_H
3 
4 #include <vector>
5 
10 
11 
13 
17 {
18 public:
19 
21  : hist_(h),
22  partsel_(s),
23  hMax_(h.size()),
24  hIndex_(0),
25  sMax_(s.size()),
26  sIndex_(0),
27  sLp_(),
28  sCopyno_(0),
29  absResult_(hMax_>0 && sMax_>0 )
30  {
31  // it makes only sense to compare if both std::vectors have at least one entry each.
32  }
33 
34  DDCompareEqual() = delete;
35 
36  bool operator() (const DDGeoHistory &, const DDPartSelection &);
37  bool operator() ();
38 
39 protected:
40  inline bool nextAnylogp();
41  inline bool nextAnyposp();
42  inline bool nextChildlogp();
43  inline bool nextChildposp();
44 
45 private:
53  int sCopyno_;
54  bool absResult_;
55 };
56 
57 #endif
size
Write out results.
DDCompareEqual()=delete
compares a given geometrical-history whether it corresponds to the given part-selector ...
Definition: DDComparator.h:16
DDPartSelection::size_type sIndex_
Definition: DDComparator.h:51
uint16_t size_type
bool nextChildposp()
DDPartSelection::size_type const sMax_
Definition: DDComparator.h:50
bool nextAnyposp()
Definition: DDComparator.cc:93
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
DDLogicalPart sLp_
Definition: DDComparator.h:52
bool nextAnylogp()
Definition: DDComparator.cc:78
DDCompareEqual(const DDGeoHistory &h, const DDPartSelection &s)
Definition: DDComparator.h:20
std::vector< DDExpandedNode > DDGeoHistory
Geometrical &#39;path&#39; of the current node up to the root-node.
const DDPartSelection & partsel_
Definition: DDComparator.h:47
DDGeoHistory::size_type hIndex_
Definition: DDComparator.h:49
DDGeoHistory::size_type const hMax_
Definition: DDComparator.h:48
bool nextChildlogp()
const DDGeoHistory & hist_
Definition: DDComparator.h:46