CMS 3D CMS Logo

LASEndcapAlignmentParameterSet Class Reference

container for storing the alignment parameters calculated by class LASEndcapAlgorithm More...

#include <Alignment/LaserAlignment/src/LASEndcapAlignmentParameterSet.h>

List of all members.

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


Detailed Description

container for storing the alignment parameters calculated by class LASEndcapAlgorithm

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.


Constructor & Destructor Documentation

LASEndcapAlignmentParameterSet::LASEndcapAlignmentParameterSet (  ) 

Definition at line 10 of file LASEndcapAlignmentParameterSet.cc.

References Init().

00010                                                                {
00011 
00012   Init();
00013   
00014 }


Member Function Documentation

void LASEndcapAlignmentParameterSet::Dump ( void   ) 

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 }

void LASEndcapAlignmentParameterSet::Init ( void   )  [private]

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 }


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:13 2009 for CMSSW by  doxygen 1.5.4