Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:05

0001 #ifndef Alignment_CommonAlignment_AlignTools_H
0002 #define Alignment_CommonAlignment_AlignTools_H
0003 
0004 /** \namespace align
0005  *
0006  *  Tools for comparing alignables
0007  *
0008  *  $Date: 2008/06/17 12:46:54 $
0009  *  $Revision: 1.5 $
0010  *  \author Nhan Tran
0011  */
0012 
0013 #include "Alignment/CommonAlignment/interface/Utilities.h"
0014 
0015 namespace align {
0016 
0017   ///Finds the TR between two alignables - first alignable is
0018   ///reference. Returns a vector with 12 components. First six are global, second
0019   ///six are local.
0020   AlgebraicVector diffAlignables(Alignable* refAli,
0021                                  Alignable* curAli,
0022                                  const std::string& weightBy,
0023                                  bool weightById,
0024                                  const std::vector<unsigned int>& weightByIdVector);
0025 
0026   ///Finds the TR between 2 sets of alignables
0027   ///For example, if TIB/TID were to move as one unit
0028   //void diffAlignables(Alignables& refAlis, Alignables& curAlis, std::vector<AlgebraicVector>& diffs);
0029 
0030   ///Moves the alignable by the AlgebraicVector
0031   void moveAlignable(Alignable* ali, AlgebraicVector diff);
0032 
0033   ///Creates the points which are used in diffAlignables
0034   ///A set of points corresponding to lowest daughters
0035   void createPoints(GlobalVectors* Vs,
0036                     Alignable* ali,
0037                     const std::string& weightBy,
0038                     bool weightById,
0039                     const std::vector<unsigned int>& weightByIdVector);
0040 
0041   // read module list, return bool
0042   bool readModuleList(unsigned int, unsigned int, const std::vector<unsigned int>&);
0043 
0044 }  // namespace align
0045 
0046 #endif