CMS 3D CMS Logo

Utilities.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_Utilities_H
2 #define Alignment_CommonAlignment_Utilities_H
3 
13 #include <map>
14 #include <memory>
15 #include <vector>
16 
20 
21 class Alignable;
23 class AlignmentLevel;
24 
25 namespace align
26 {
27  typedef std::vector<Scalar> Scalars;
28  typedef std::vector<GlobalPoint> GlobalPoints;
29  typedef std::vector<GlobalVector> GlobalVectors;
30  typedef std::vector<LocalPoint> LocalPoints;
31  typedef std::vector<LocalVector> LocalVectors;
32  typedef std::vector<Alignable*> Alignables;
33  typedef std::vector<AlignmentParameters*> Parameters;
34  typedef std::vector<std::unique_ptr<AlignmentLevel> > AlignmentLevels;
35 
36  typedef std::map<std::pair<Alignable*, Alignable*>, AlgebraicMatrix> Correlations;
37 
39  using RunRange = std::pair<RunNumber, RunNumber>;
40  using RunRanges = std::vector<RunRange>;
41 
44  const RotationType&
45  );
46 
49  const EulerAngles&
50  );
51 
54  const std::vector<const PositionType*>& dauPos
55  );
56 
60  const GlobalVectors& current,
61  const GlobalVectors& nominal
62  );
63 
65  const GlobalVectors& current,
66  const GlobalVectors& nominal
67  );
68 
71  const GlobalVectors& theVs
72  );
73 
74 
76  void rectify(
78  );
79 
80 
82  const RunNumber& defaultRun);
84  const RunNumber& defaultRun);
85 }
86 
87 #endif
std::vector< std::unique_ptr< AlignmentLevel > > AlignmentLevels
Definition: Utilities.h:34
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:33
std::vector< RunRange > RunRanges
Definition: Utilities.h:40
std::map< std::pair< Alignable *, Alignable * >, AlgebraicMatrix > Correlations
Definition: Utilities.h:36
GlobalVector diffR(const GlobalVectors &current, const GlobalVectors &nominal)
Definition: Utilities.cc:168
RotationType diffRot(const GlobalVectors &current, const GlobalVectors &nominal)
Definition: Utilities.cc:73
std::vector< GlobalPoint > GlobalPoints
Definition: Utilities.h:28
CLHEP::HepMatrix AlgebraicMatrix
void rectify(RotationType &)
Correct a rotation matrix for rounding errors.
Definition: Utilities.cc:198
RunRanges makeNonOverlappingRunRanges(const edm::VParameterSet &runRanges, const RunNumber &defaultRun)
Definition: Utilities.cc:218
std::vector< Scalar > Scalars
Definition: Utilities.h:27
RunRanges makeUniqueRunRanges(const edm::VParameterSet &runRanges, const RunNumber &defaultRun)
Definition: Utilities.cc:263
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:9
GlobalVector centerOfMass(const GlobalVectors &theVs)
Find the CM of a set of points.
Definition: Utilities.cc:187
std::pair< RunNumber, RunNumber > RunRange
Definition: Utilities.h:39
AlgebraicVector EulerAngles
Definition: Definitions.h:36
std::vector< GlobalVector > GlobalVectors
Definition: Utilities.h:29
std::vector< Alignable * > Alignables
Definition: Utilities.h:32
std::vector< AlignmentParameters * > Parameters
Definition: Utilities.h:33
std::vector< LocalVector > LocalVectors
Definition: Utilities.h:31
RotationType toMatrix(const EulerAngles &)
Convert rotation angles about x-, y-, z-axes to matrix.
Definition: Utilities.cc:42
PositionType motherPosition(const std::vector< const PositionType * > &dauPos)
Find mother&#39;s position from the average of its daughters&#39; positions.
Definition: Utilities.cc:53
std::vector< LocalPoint > LocalPoints
Definition: Utilities.h:30
cond::RealTimeType< cond::runnumber >::type RunNumber
Definition: Utilities.h:38