#include <Alignment/LaserAlignment/src/LASEndcapAlignmentParameterSet.h>
Public Member Functions | |
void | Dump (void) |
printout for debugging | |
std::pair< double, double > & | GetParameter (int aSubdetector, int aDisk, int aParameter) |
function for accessing a single parameter (pair<>); indices are: aSubdetector = 0 (TEC+), 1 (TEC-) aDisk = 0. | |
LASEndcapAlignmentParameterSet () | |
Private Member Functions | |
void | Init (void) |
whatever initialization is needed | |
Private Attributes | |
std::vector< std::vector < std::pair< double, double > > > | tecMinusParameters |
std::vector< std::vector < std::pair< double, double > > > | tecPlusParameters |
structure: for each of the 2 subdetectors (TEC+, TEC-) there's a vector each of these contains nine vector<pair<>>, one for each disk each of those vector has three pair<> entries, one for each parameter (rot, deltaX, deltaY) each entry is a pair containing <parameter,error>
TODO: implement beam & global parameters
Definition at line 27 of file LASEndcapAlignmentParameterSet.h.
LASEndcapAlignmentParameterSet::LASEndcapAlignmentParameterSet | ( | ) |
Definition at line 10 of file LASEndcapAlignmentParameterSet.cc.
References Init().
00010 { 00011 00012 Init(); 00013 00014 }
printout for debugging
Definition at line 73 of file LASEndcapAlignmentParameterSet.cc.
References GenMuonPlsPt100GeV_cfg::cout, muonGeometry::disk, lat::endl(), and GetParameter().
00073 { 00074 00075 std::cout << " [LASEndcapAlignmentParameterSet::Dump] -- Dumping parameters in format: deltaPhi±e, deltaX±e, deltaY±e" << std::endl; 00076 for( int det = 0; det < 2; ++det ) { 00077 std::cout << " " << (det==0 ? "TEC+" : "TEC-") << ": " << std::endl; 00078 for( int disk = 0; disk < 9; ++disk ) { 00079 std::cout << " disk " << disk << ": "; 00080 for( int par = 0; par < 3; ++par ) std::cout << std::setw( 5 ) << GetParameter( det, disk, par ).first 00081 << " ± " << std::setw( 5 ) << std::left << GetParameter( det, disk, par ).second; 00082 std::cout << std::endl; 00083 } 00084 } 00085 std::cout << " [LASEndcapAlignmentParameterSet::Dump] -- End of dump." << std::endl << std::endl; 00086 00087 }
std::pair< double, double > & LASEndcapAlignmentParameterSet::GetParameter | ( | int | aSubdetector, | |
int | aDisk, | |||
int | aParameter | |||
) |
function for accessing a single parameter (pair<>); indices are: aSubdetector = 0 (TEC+), 1 (TEC-) aDisk = 0.
.8 (from inner to outer) aParameter: 0 (rotation angle), 1 (x displacement), 2 (y displacement)
Definition at line 46 of file LASEndcapAlignmentParameterSet.cc.
References lat::endl(), Exception, tecMinusParameters, and tecPlusParameters.
Referenced by LASEndcapAlgorithm::CalculateParameters(), Dump(), and LASGeometryUpdater::Update().
00046 { 00047 00048 if( aSubdetector < 0 || aSubdetector > 1 ) { 00049 throw cms::Exception( "Laser Alignment" ) << " [LASEndcapAlignmentParameterSet::GetParameter] ERROR ** Illegal subdetector index: " << aSubdetector << "." << std::endl; 00050 } 00051 00052 if( aDisk < 0 || aDisk > 8 ) { 00053 throw cms::Exception( "Laser Alignment" ) << " [LASEndcapAlignmentParameterSet::GetParameter] ERROR ** Illegal endface index: " << aDisk << "." << std::endl; 00054 } 00055 00056 if( aParameter < 0 || aParameter > 2 ) { 00057 throw cms::Exception( "Laser Alignment" ) << " [LASEndcapAlignmentParameterSet::GetParameter] ERROR ** Illegal parameter index: " << aParameter << "." << std::endl; 00058 } 00059 00060 00061 if( aSubdetector == 0 ) return tecPlusParameters.at( aDisk ).at( aParameter ); 00062 return tecMinusParameters.at( aDisk ).at( aParameter ); 00063 00064 }
whatever initialization is needed
Definition at line 23 of file LASEndcapAlignmentParameterSet.cc.
References i, tecMinusParameters, and tecPlusParameters.
Referenced by LASEndcapAlignmentParameterSet().
00023 { 00024 00025 // could use a single vector<vector<vector<pair<> > > > 00026 // but better split it in 2 parts 00027 00028 for( int i = 0; i < 9; ++i ) { // nine times; once for each disk 00029 tecPlusParameters.push_back ( std::vector<std::pair<double,double> >( 3 ) ); 00030 tecMinusParameters.push_back( std::vector<std::pair<double,double> >( 3 ) ); 00031 } 00032 00033 }
std::vector<std::vector<std::pair<double,double> > > LASEndcapAlignmentParameterSet::tecMinusParameters [private] |
Definition at line 38 of file LASEndcapAlignmentParameterSet.h.
Referenced by GetParameter(), and Init().
std::vector<std::vector<std::pair<double,double> > > LASEndcapAlignmentParameterSet::tecPlusParameters [private] |
Definition at line 37 of file LASEndcapAlignmentParameterSet.h.
Referenced by GetParameter(), and Init().