00001 00002 #ifndef __LASGEOMETRYUPDATER_H 00003 #define __LASGEOMETRYUPDATER_H 00004 00005 #include <vector> 00006 #include <cmath> 00007 00008 #include "Alignment/TrackerAlignment/interface/AlignableTracker.h" 00009 #include "Alignment/LaserAlignment/interface/LASEndcapAlignmentParameterSet.h" 00010 #include "Alignment/LaserAlignment/interface/LASBarrelAlignmentParameterSet.h" 00011 #include "Alignment/LaserAlignment/interface/LASGlobalData.h" 00012 #include "Alignment/LaserAlignment/interface/LASCoordinateSet.h" 00013 #include "Alignment/LaserAlignment/interface/LASGlobalLoop.h" 00014 #include "Alignment/LaserAlignment/interface/LASConstants.h" 00015 00016 00017 class LASGeometryUpdater { 00018 00019 public: 00020 LASGeometryUpdater( LASGlobalData<LASCoordinateSet>&, LASConstants& ); 00021 void ApplyBeamKinkCorrections( LASGlobalData<LASCoordinateSet>& ) const; 00022 void EndcapUpdate( LASEndcapAlignmentParameterSet&, LASGlobalData<LASCoordinateSet>& ); 00023 void TrackerUpdate( LASEndcapAlignmentParameterSet&, LASBarrelAlignmentParameterSet&, AlignableTracker& ); 00024 void SetReverseDirection( bool ); 00025 void SetMisalignmentFromRefGeometry( bool ); 00026 00027 private: 00028 LASGlobalData<LASCoordinateSet> nominalCoordinates; 00029 LASConstants lasConstants; 00030 bool isReverseDirection; 00031 bool isMisalignmentFromRefGeometry; 00032 00033 }; 00034 00035 #endif