CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Protected Attributes
HIPAlignableSpecificParameters Class Reference

#include <HIPAlignableSpecificParameters.h>

Public Member Functions

 HIPAlignableSpecificParameters (const Alignable *aliObj_, bool defaultFlag_=false)
 
 HIPAlignableSpecificParameters (const HIPAlignableSpecificParameters &other)
 
align::ID id () const
 
bool isDefault () const
 
bool matchAlignable (const Alignable *ali) const
 
align::StructureType objId () const
 
 ~HIPAlignableSpecificParameters ()
 

Public Attributes

bool applyPixelProbCut
 
double maxHitPull
 
double maxPixelProbQ
 
double maxPixelProbXY
 
double maxRelParError
 
int minNHits
 
double minPixelProbQ
 
double minPixelProbXY
 
double minRelParError
 
bool usePixelProbXYOrProbQ
 

Protected Attributes

const AlignablealiObj
 
const bool defaultFlag
 

Detailed Description

Definition at line 7 of file HIPAlignableSpecificParameters.h.

Constructor & Destructor Documentation

◆ HIPAlignableSpecificParameters() [1/2]

HIPAlignableSpecificParameters::HIPAlignableSpecificParameters ( const Alignable aliObj_,
bool  defaultFlag_ = false 
)

Definition at line 4 of file HIPAlignableSpecificParameters.cc.

5  : aliObj(aliObj_),
6  defaultFlag(defaultFlag_),
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) {}

◆ HIPAlignableSpecificParameters() [2/2]

HIPAlignableSpecificParameters::HIPAlignableSpecificParameters ( const HIPAlignableSpecificParameters other)

Definition at line 18 of file HIPAlignableSpecificParameters.cc.

19  : aliObj(other.aliObj),
20  defaultFlag(other.defaultFlag),
21  minRelParError(other.minRelParError),
22  maxRelParError(other.maxRelParError),
23  minNHits(other.minNHits),
24  maxHitPull(other.maxHitPull),
25  applyPixelProbCut(other.applyPixelProbCut),
26  usePixelProbXYOrProbQ(other.usePixelProbXYOrProbQ),
27  minPixelProbXY(other.minPixelProbXY),
28  maxPixelProbXY(other.maxPixelProbXY),
29  minPixelProbQ(other.minPixelProbQ),
30  maxPixelProbQ(other.maxPixelProbQ) {}

◆ ~HIPAlignableSpecificParameters()

HIPAlignableSpecificParameters::~HIPAlignableSpecificParameters ( )
inline

Definition at line 28 of file HIPAlignableSpecificParameters.h.

28 {}

Member Function Documentation

◆ id()

align::ID HIPAlignableSpecificParameters::id ( ) const

Definition at line 32 of file HIPAlignableSpecificParameters.cc.

References aliObj, and Alignable::id().

Referenced by HIPAlignmentAlgorithm::initialize().

32  {
33  if (aliObj != nullptr)
34  return aliObj->id();
35  else
36  return 0;
37 }
align::ID id() const
Return the ID of Alignable, i.e. DetId of &#39;first&#39; component GeomDet(Unit).
Definition: Alignable.h:180

◆ isDefault()

bool HIPAlignableSpecificParameters::isDefault ( ) const

Definition at line 63 of file HIPAlignableSpecificParameters.cc.

References defaultFlag.

◆ matchAlignable()

bool HIPAlignableSpecificParameters::matchAlignable ( const Alignable ali) const

Definition at line 45 of file HIPAlignableSpecificParameters.cc.

References aliObj, Alignable::deepComponents(), and mps_fire::result.

45  {
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 }
const Alignables & deepComponents() const
Definition: Alignable.h:72

◆ objId()

align::StructureType HIPAlignableSpecificParameters::objId ( ) const

Definition at line 38 of file HIPAlignableSpecificParameters.cc.

References Alignable::alignableObjectId(), aliObj, and align::invalid.

Referenced by HIPAlignmentAlgorithm::initialize().

38  {
39  if (aliObj != nullptr)
40  return aliObj->alignableObjectId();
41  else
42  return align::invalid;
43 }
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.

Member Data Documentation

◆ aliObj

const Alignable* HIPAlignableSpecificParameters::aliObj
protected

Definition at line 10 of file HIPAlignableSpecificParameters.h.

Referenced by id(), matchAlignable(), and objId().

◆ applyPixelProbCut

bool HIPAlignableSpecificParameters::applyPixelProbCut

◆ defaultFlag

const bool HIPAlignableSpecificParameters::defaultFlag
protected

Definition at line 11 of file HIPAlignableSpecificParameters.h.

Referenced by isDefault().

◆ maxHitPull

double HIPAlignableSpecificParameters::maxHitPull

◆ maxPixelProbQ

double HIPAlignableSpecificParameters::maxPixelProbQ

◆ maxPixelProbXY

double HIPAlignableSpecificParameters::maxPixelProbXY

◆ maxRelParError

double HIPAlignableSpecificParameters::maxRelParError

◆ minNHits

int HIPAlignableSpecificParameters::minNHits

◆ minPixelProbQ

double HIPAlignableSpecificParameters::minPixelProbQ

◆ minPixelProbXY

double HIPAlignableSpecificParameters::minPixelProbXY

◆ minRelParError

double HIPAlignableSpecificParameters::minRelParError

◆ usePixelProbXYOrProbQ

bool HIPAlignableSpecificParameters::usePixelProbXYOrProbQ