Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:25

0001 #ifndef Alignment_TrackerAlignment_TrackerAlignment_H
0002 #define Alignment_TrackerAlignment_TrackerAlignment_H
0003 
0004 /** \class TrackerAlignment
0005  *  The TrackerAlignment helper class for alignment jobs
0006  *  - Rotates and Translates any module for the tracker based on rawId
0007  *
0008  *  \author Nhan Tran
0009  */
0010 
0011 #include "FWCore/Framework/interface/EventSetup.h"
0012 
0013 #include "Alignment/TrackerAlignment/interface/AlignableTracker.h"
0014 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0015 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 class TrackerTopology;
0018 
0019 class TrackerAlignment {
0020 public:
0021   TrackerAlignment(const TrackerTopology* tTopo, const TrackerGeometry* tGeom);
0022 
0023   ~TrackerAlignment();
0024 
0025   AlignableTracker* getAlignableTracker() { return theAlignableTracker; }
0026 
0027   void moveAlignablePixelEndCaps(int rawId,
0028                                  const align::Scalars& localDisplacements,
0029                                  const align::Scalars& localRotations);
0030   void moveAlignableEndCaps(int rawId, const align::Scalars& localDisplacements, const align::Scalars& localRotations);
0031   void moveAlignablePixelHalfBarrels(int rawId,
0032                                      const align::Scalars& localDisplacements,
0033                                      const align::Scalars& localRotations);
0034   void moveAlignableInnerHalfBarrels(int rawId,
0035                                      const align::Scalars& localDisplacements,
0036                                      const align::Scalars& localRotations);
0037   void moveAlignableOuterHalfBarrels(int rawId,
0038                                      const align::Scalars& localDisplacements,
0039                                      const align::Scalars& localRotations);
0040   void moveAlignableTIDs(int rawId, const align::Scalars& localDisplacements, const align::Scalars& localRotations);
0041   void moveAlignableTIBTIDs(int rawId,
0042                             const align::Scalars& globalDisplacements,
0043                             const align::RotationType& backwardRotation,
0044                             const align::RotationType& forwardRotation,
0045                             bool toAndFro);
0046 
0047   void saveToDB();
0048 
0049 private:
0050   AlignableTracker* theAlignableTracker;
0051   std::string theAlignRecordName, theErrorRecordName;
0052 };
0053 #endif  //TrackerAlignment_H