#include <LASGlobalLoop.h>
Public Member Functions | |
LASGlobalLoop () | |
bool | TEC2TECLoop (int &, int &, int &) const |
bool | TECLoop (int &, int &, int &, int &) const |
bool | TIBTOBLoop (int &, int &, int &) const |
helper class for looping over LASGlobalData objects (si-strip module loops). Use exactly as:
LASGlobalLoop theLoop; int det = 0, ring = 0, beam = 0, disk = 0; do { // det,ring,beam,disk will loop the full TEC+,TEC- } while ( loop.TECLoop( det, ring, beam, disk ) ); int pos = 0; det = 2; // set subdetector to TIB beam = 0; do { // dto. } while( loop.TIBTOBLoop( det, beam, disk ) );
Definition at line 24 of file LASGlobalLoop.h.
LASGlobalLoop::LASGlobalLoop | ( | ) |
Definition at line 8 of file LASGlobalLoop.cc.
{ }
bool LASGlobalLoop::TEC2TECLoop | ( | int & | subdet, |
int & | beam, | ||
int & | disk | ||
) | const |
full TEC AT loop with starting values given by parameter values
Definition at line 92 of file LASGlobalLoop.cc.
References benchmark_cfg::cerr.
Referenced by LaserAlignment::ApplyATMaskingCorrections(), LaserAlignment::beginJob(), LaserAlignment::CalculateNominalCoordinates(), LASAlignmentTubeAlgorithm::CalculateParameters(), RawDataConverter::ClearData(), LaserAlignment::DumpPosFileSet(), LaserAlignment::DumpStripFileSet(), LASGeometryUpdater::EndcapUpdate(), LaserAlignment::endRun(), fcn(), LaserAlignment::fillDataProfiles(), LaserAlignmentT0ProducerDQM::FillFromProcessedDigis(), LaserAlignmentT0ProducerDQM::FillFromRawDigis(), LaserAlignment::fillPedestalProfiles(), RawDataConverter::GetDigis(), LaserAlignment::produce(), LASAlignmentTubeAlgorithm::ReadMisalignmentFromFile(), LASBarrelAlgorithm::ReadMisalignmentFromFile(), and LaserAlignment::testRoutine().
{ if( subdet > 1 ) { std::cerr << " [LASGlobalLoop::TEC2TECLoop] ** ERROR: TEC loop running on TIB/TOB (subdetector > 1)" << std::endl; throw 1; } ++disk; if( disk == 5 ) { ++beam; disk = 0; if( beam == 8 ) { ++subdet; beam = 0; if( subdet == 2 ) return false; } } return true; }
bool LASGlobalLoop::TECLoop | ( | int & | subdet, |
int & | ring, | ||
int & | beam, | ||
int & | disk | ||
) | const |
full TEC loop (both endcaps) with starting values given by parameter values
Definition at line 19 of file LASGlobalLoop.cc.
References benchmark_cfg::cerr, and relativeConstraints::ring.
Referenced by LaserAlignment::ApplyEndcapMaskingCorrections(), LaserAlignment::beginJob(), LaserAlignment::CalculateNominalCoordinates(), LASEndcapAlgorithm::CalculateParameters(), RawDataConverter::ClearData(), LaserAlignment::DumpPosFileSet(), LaserAlignment::DumpStripFileSet(), LaserAlignment::endRun(), LaserAlignment::fillDataProfiles(), LaserAlignmentT0ProducerDQM::FillFromProcessedDigis(), LaserAlignmentT0ProducerDQM::FillFromRawDigis(), LaserAlignment::fillPedestalProfiles(), RawDataConverter::GetDigis(), LaserAlignment::produce(), LASAlignmentTubeAlgorithm::ReadMisalignmentFromFile(), LASBarrelAlgorithm::ReadMisalignmentFromFile(), and LaserAlignment::testRoutine().
{ if( subdet > 1 ) { std::cerr << " [LASGlobalLoop::TECLoop] ** ERROR: Endcap loop running on TIB/TOB (subdetector > 1)" << std::endl; throw 1; } ++disk; if( disk == 9 ) { ++beam; disk = 0; if( beam == 8 ) { ++ring; beam = 0; if( ring == 2 ) { ++subdet; ring = 0; if( subdet == 2 ) return false; } } } return true; }
bool LASGlobalLoop::TIBTOBLoop | ( | int & | subdet, |
int & | beam, | ||
int & | position | ||
) | const |
full TIB+TOB loop with starting values given by parameter values
Definition at line 58 of file LASGlobalLoop.cc.
References benchmark_cfg::cerr, and position.
Referenced by LaserAlignment::ApplyATMaskingCorrections(), LaserAlignment::beginJob(), LaserAlignment::CalculateNominalCoordinates(), LASAlignmentTubeAlgorithm::CalculateParameters(), RawDataConverter::ClearData(), LaserAlignment::DumpPosFileSet(), LaserAlignment::DumpStripFileSet(), LaserAlignment::endRun(), fcn(), LaserAlignment::fillDataProfiles(), LaserAlignmentT0ProducerDQM::FillFromProcessedDigis(), LaserAlignmentT0ProducerDQM::FillFromRawDigis(), LaserAlignment::fillPedestalProfiles(), RawDataConverter::GetDigis(), LaserAlignment::isATBeam(), LaserAlignment::produce(), LASAlignmentTubeAlgorithm::ReadMisalignmentFromFile(), LASBarrelAlgorithm::ReadMisalignmentFromFile(), and LaserAlignment::testRoutine().