CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Alignment/LaserAlignment/interface/LASConstants.h

Go to the documentation of this file.
00001 
00002 #ifndef _LASCONSTANTS_H
00003 #define _LASCONSTANTS_H
00004 
00005 #include <vector>
00006 #include <iostream>
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 
00010 
00011 class LASConstants {
00012 
00013  public:
00014   LASConstants();
00015   LASConstants( std::vector<edm::ParameterSet> const& );
00016   ~LASConstants();
00017 
00018   double GetEndcapBsKink( unsigned int det, unsigned int ring, unsigned int beam ) const;
00019   double GetAlignmentTubeBsKink( unsigned int beam ) const;
00020 
00021   double GetTecRadius( unsigned int ring ) const;
00022   double GetAtRadius( void ) const;
00023 
00024   double GetTecZPosition( unsigned int det, unsigned int disk ) const;
00025   double GetTibZPosition( unsigned int pos ) const;
00026   double GetTobZPosition( unsigned int pos ) const;
00027   double GetTecBsZPosition( unsigned int det ) const;
00028   double GetAtBsZPosition( void ) const;
00029 
00030  private:
00031   void InitContainers( void );
00032   void FillBsKinks( edm::ParameterSet const& );
00033   void FillRadii( edm::ParameterSet const& );
00034   void FillZPositions( edm::ParameterSet const& );
00035 
00036   std::vector<std::vector<std::vector<double> > > endcapBsKinks; // outer to inner: det, ring, beam
00037   std::vector<double> alignmentTubeBsKinks; // 8 beams
00038 
00039   std::vector<double> tecRadii;
00040   double atRadius;
00041 
00042   std::vector<double> tecZPositions;
00043   std::vector<double> tibZPositions;
00044   std::vector<double> tobZPositions;
00045   double tecBsZPosition;
00046   double atZPosition;
00047 
00048 };
00049 
00050 
00051 #endif
00052