Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Alignment_SurveyAnalysis_SurveyAlignment_h
0002 #define Alignment_SurveyAnalysis_SurveyAlignment_h
0003 
0004 /** \class SurveyAlignment
0005  *
0006  *  Alignment using only survey info (no tracks) as a proof of principle.
0007  *
0008  *  $Date: 2007/05/03 20:58:58 $
0009  *  $Revision: 1.4 $
0010  *  \author Chung Khim Lae
0011  */
0012 
0013 #include "Alignment/CommonAlignment/interface/StructureType.h"
0014 #include "Alignment/CommonAlignment/interface/Utilities.h"
0015 
0016 class SurveyAlignment {
0017 protected:
0018 public:
0019   /// Constructor to set the sensors and residual levels.
0020   SurveyAlignment(const align::Alignables& sensors, const std::vector<align::StructureType>& levels);
0021 
0022   virtual ~SurveyAlignment() {}
0023 
0024   /// Run the iteration: find residuals, write to output, shift sensors.
0025   void iterate(unsigned int nIteration,      // number of iterations
0026                const std::string& fileName,  // name of output file
0027                bool bias = false             // true for biased residuals
0028   );
0029 
0030 protected:
0031   /// Find the alignment parameters for all sensors.
0032   virtual void findAlignPars(bool bias = false  // true for biased residuals
0033                              ) = 0;
0034 
0035   /// Apply the alignment parameters to all sensors.
0036   virtual void shiftSensors();
0037 
0038   const align::Alignables& theSensors;
0039   const std::vector<align::StructureType>& theLevels;
0040 };
0041 
0042 #endif