CMS 3D CMS Logo

HIPAlignableSpecificParameters.cc
Go to the documentation of this file.
3 
5  : aliObj(aliObj_),
6  defaultFlag(defaultFlag_),
7  minRelParError(0),
8  maxRelParError(-1),
9  minNHits(0),
10  maxHitPull(-1),
11  applyPixelProbCut(false),
12  usePixelProbXYOrProbQ(false),
13  minPixelProbXY(0),
14  maxPixelProbXY(1),
15  minPixelProbQ(0),
16  maxPixelProbQ(1) {}
17 
19  : aliObj(other.aliObj),
20  defaultFlag(other.defaultFlag),
23  minNHits(other.minNHits),
24  maxHitPull(other.maxHitPull),
31 
33  if (aliObj != nullptr)
34  return aliObj->id();
35  else
36  return 0;
37 }
39  if (aliObj != nullptr)
40  return aliObj->alignableObjectId();
41  else
42  return align::invalid;
43 }
44 
46  if (aliObj == (Alignable*)nullptr)
47  return false;
48  bool result = (aliObj == ali);
49  if (!result) { // Check deep components of the alignable for this specification
50  for (auto const& alideep : aliObj->deepComponents()) {
51  if (alideep == ali) {
52  result = true;
53  break;
54  }
55  }
56  //if (result) edm::LogWarning("Alignment") // This is correct. Ideally one should specify the same alignables aligned in the specifications
57  // << "[HIPAlignableSpecificParameters::matchAlignable] Alignment object with id " << ali->id() << " / " << ali->alignableObjectId()
58  // << " was found as a component of " << this->id() << " / " << this->objId();
59  }
60  return result;
61 }
62 
HIPAlignableSpecificParameters(const Alignable *aliObj_, bool defaultFlag_=false)
align::ID id() const
Return the ID of Alignable, i.e. DetId of &#39;first&#39; component GeomDet(Unit).
Definition: Alignable.h:180
uint32_t ID
Definition: Definitions.h:24
bool matchAlignable(const Alignable *ali) const
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
const Alignables & deepComponents() const
Definition: Alignable.h:72