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