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 {}
18 
20 aliObj(other.aliObj),
24 minNHits(other.minNHits),
25 maxHitPull(other.maxHitPull),
32 {}
33 
34 align::ID HIPAlignableSpecificParameters::id()const{ if (aliObj!=nullptr) return aliObj->id(); else return 0; }
36 
38  if (aliObj==(Alignable*)nullptr) return false;
39  bool result = (aliObj==ali);
40  if (!result){ // Check deep components of the alignable for this specification
41  for (auto const& alideep : aliObj->deepComponents()){
42  if (alideep==ali){ result = true; break; }
43  }
44  //if (result) edm::LogWarning("Alignment") // This is correct. Ideally one should specify the same alignables aligned in the specifications
45  // << "[HIPAlignableSpecificParameters::matchAlignable] Alignment object with id " << ali->id() << " / " << ali->alignableObjectId()
46  // << " was found as a component of " << this->id() << " / " << this->objId();
47  }
48  return result;
49 }
50 
52 
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:189
uint32_t ID
Definition: Definitions.h:26
bool matchAlignable(const Alignable *ali) const
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
const Alignables & deepComponents() const
Definition: Alignable.h:75