CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

AlignableTracker Class Reference

#include <AlignableTracker.h>

Inheritance diagram for AlignableTracker:
AlignableComposite Alignable

List of all members.

Public Member Functions

 AlignableTracker (const TrackerGeometry *tracker)
 Constructor (builds the full hierarchy)
AlignmentErrorsalignmentErrors () const
 Return alignment errors, sorted by DetId.
Alignmentsalignments () const
 Return alignments, sorted by DetId.
Alignables barrelGeomDets ()
 Return inner and outer barrel GeomDets together.
Alignables barrelLayers ()
 Return inner and outer barrel layers.
Alignables barrelRods ()
 Return inner and outer barrel rods.
AlignablesendcapGeomDets ()
 Return endcap GeomDets.
AlignablesendcapLayers ()
 Return endcap layers.
AlignablesendcapPetals ()
 Return encap petals.
AlignablesendCaps ()
 Return TECs.
AlignablesinnerBarrelGeomDets ()
 Return inner barrel GeomDets.
AlignablesinnerBarrelLayers ()
 Return inner barrel layers.
AlignablesinnerBarrelRods ()
 Return inner barrel rods.
AlignablesinnerHalfBarrels ()
 Return TIB half barrels.
AlignablesouterBarrelGeomDets ()
 Return outer barrel GeomDets.
AlignablesouterBarrelLayers ()
 Return outer barrel layers.
AlignablesouterBarrelRods ()
 Return outer barrel rods.
AlignablesouterHalfBarrels ()
 Return TOB half barrels.
AlignablespixelEndcapGeomDets ()
 Return pixel endcap GeomDets.
AlignablespixelEndcapLayers ()
 Return pixel endcap layers.
AlignablespixelEndcapPetals ()
 Return pixel endcap petals.
AlignablespixelEndCaps ()
 Return TPEs.
AlignablespixelHalfBarrelGeomDets ()
 Return pixel barrel GeomDets.
AlignablespixelHalfBarrelLadders ()
 Return pixel half barrel ladders (implemented as AlignableRods)
AlignablespixelHalfBarrelLayers ()
 Return pixel half barrel layers.
AlignablespixelHalfBarrels ()
 Return Pixel half barrels.
AlignablessubStructures (const std::string &subStructName)
Alignables TIBTIDGeomDets ()
 Return inner barrel and TID GeomDets together.
AlignablesTIDGeomDets ()
 Return TID GeomDets.
AlignablesTIDLayers ()
 Return TID layers.
AlignablesTIDRings ()
 Return TID rings.
AlignablesTIDs ()
 Return TIDs.

Private Member Functions

void buildBarrel (const std::string &subDet)
 Build a barrel for a given sub-detector (TPB, TIB, TOB).
void buildTEC ()
void buildTIB ()
void buildTID ()
void buildTOB ()
void buildTPB ()
void buildTPE ()
void buildTRK ()
void detsToAlignables (const TrackingGeometry::DetContainer &dets, const std::string &moduleName)
 Create list of lower-level modules.
Alignables merge (const Alignables &list1, const Alignables &list2) const

Private Attributes

AlignSetup< AlignablesalignableLists_
TrackerCounters tkCounters_

Detailed Description

Definition at line 13 of file AlignableTracker.h.


Constructor & Destructor Documentation

AlignableTracker::AlignableTracker ( const TrackerGeometry tracker) [explicit]

Constructor (builds the full hierarchy)

Definition at line 24 of file AlignableTracker.cc.

References buildTEC(), buildTIB(), buildTID(), buildTOB(), buildTPB(), buildTPE(), buildTRK(), AlignableComposite::components(), TrackerGeometry::detsPXB(), TrackerGeometry::detsPXF(), TrackerGeometry::detsTEC(), TrackerGeometry::detsTIB(), TrackerGeometry::detsTID(), detsToAlignables(), TrackerGeometry::detsTOB(), and Alignable::theId.

                                                                 :
  AlignableComposite( 0, align::Tracker, RotationType() ) // id not yet known
{

  // Get levels from geometry
  // for strip we create also <TIB/TID/TOB/TEC>ModuleUnit list for 1D components of 2D layers
  detsToAlignables(tkGeom->detsPXB(), "TPBModule");
  detsToAlignables(tkGeom->detsPXF(), "TPEModule");
  detsToAlignables(tkGeom->detsTIB(), "TIBModule");
  detsToAlignables(tkGeom->detsTID(), "TIDModule");
  detsToAlignables(tkGeom->detsTOB(), "TOBModule");
  detsToAlignables(tkGeom->detsTEC(), "TECModule");

  buildTPB();
  buildTPE();
  buildTIB();
  buildTID();
  buildTOB();
  buildTEC();
  buildTRK();

  theId = this->components()[0]->id(); // as all composites: id of first component
}

Member Function Documentation

AlignmentErrors * AlignableTracker::alignmentErrors ( void  ) const [virtual]

Return alignment errors, sorted by DetId.

Reimplemented from AlignableComposite.

Definition at line 303 of file AlignableTracker.cc.

References AlCaHLTBitMon_QueryRunRegistry::comp, AlignableComposite::components(), filterCSVwithJSON::copy, i, AlignmentErrors::m_alignError, and python::multivaluedict::sort().

Referenced by TrackerGeometryCompare::analyze(), TrackerSystematicMisalignments::analyze(), LaserAlignment::endRun(), TrackerAlignment::saveToDB(), AlignmentProducer::startingNewLoop(), ApeSettingAlgorithm::terminate(), and AlignmentProducer::writeForRunRange().

{

  align::Alignables comp = this->components();
  AlignmentErrors* m_alignmentErrors = new AlignmentErrors();

  // Add components recursively
  for ( align::Alignables::iterator i=comp.begin(); i!=comp.end(); i++ )
    {
          AlignmentErrors* tmpAlignmentErrors = (*i)->alignmentErrors();
      std::copy( tmpAlignmentErrors->m_alignError.begin(), tmpAlignmentErrors->m_alignError.end(), 
                                 std::back_inserter(m_alignmentErrors->m_alignError) );
          delete tmpAlignmentErrors;
    }

  std::sort( m_alignmentErrors->m_alignError.begin(), m_alignmentErrors->m_alignError.end(), 
                         lessAlignmentDetId<AlignTransformError>() );

  return m_alignmentErrors;

}
Alignments * AlignableTracker::alignments ( void  ) const [virtual]

Return alignments, sorted by DetId.

Reimplemented from AlignableComposite.

Definition at line 280 of file AlignableTracker.cc.

References AlCaHLTBitMon_QueryRunRegistry::comp, AlignableComposite::components(), filterCSVwithJSON::copy, i, Alignments::m_align, and python::multivaluedict::sort().

Referenced by TrackerGeometryCompare::analyze(), TrackerSystematicMisalignments::analyze(), LaserAlignment::endRun(), TrackerAlignment::saveToDB(), AlignmentProducer::startingNewLoop(), and AlignmentProducer::writeForRunRange().

{

  align::Alignables comp = this->components();
  Alignments* m_alignments = new Alignments();
  // Add components recursively
  for ( align::Alignables::iterator i=comp.begin(); i!=comp.end(); i++ )
    {
      Alignments* tmpAlignments = (*i)->alignments();
      std::copy( tmpAlignments->m_align.begin(), tmpAlignments->m_align.end(), 
                                 std::back_inserter(m_alignments->m_align) );
          delete tmpAlignments;
    }

  std::sort( m_alignments->m_align.begin(), m_alignments->m_align.end(), 
                         lessAlignmentDetId<AlignTransform>() );

  return m_alignments;

}
Alignables AlignableTracker::barrelGeomDets ( ) [inline]

Return inner and outer barrel GeomDets together.

Definition at line 41 of file AlignableTracker.h.

References innerBarrelGeomDets(), merge(), and outerBarrelGeomDets().

Referenced by AlignmentParameterSelector::addAllDets(), and AlignmentParameterSelector::addSelection().

                              { return this->merge(this->innerBarrelGeomDets(),
                                                   this->outerBarrelGeomDets());}
Alignables AlignableTracker::barrelLayers ( ) [inline]

Return inner and outer barrel layers.

Definition at line 76 of file AlignableTracker.h.

References innerBarrelLayers(), merge(), and outerBarrelLayers().

Referenced by AlignmentParameterSelector::addAllLayers(), and AlignmentParameterSelector::addSelection().

                            { return this->merge(this->innerBarrelLayers(),
                                                 this->outerBarrelLayers() );
  }
Alignables AlignableTracker::barrelRods ( ) [inline]

Return inner and outer barrel rods.

Definition at line 61 of file AlignableTracker.h.

References innerBarrelRods(), merge(), and outerBarrelRods().

Referenced by AlignmentParameterSelector::addAllRods(), and AlignmentParameterSelector::addSelection().

{ return this->merge(this->innerBarrelRods(), this->outerBarrelRods());}
void AlignableTracker::buildBarrel ( const std::string &  subDet) [private]

Build a barrel for a given sub-detector (TPB, TIB, TOB).

Definition at line 135 of file AlignableTracker.cc.

References AlignableComposite::AlignableComposite(), alignableLists_, Reference_intrackfit_cff::barrel, AlignSetup< Type >::find(), AlignSetup< Type >::get(), AlCaHLTBitMon_QueryRunRegistry::string, and AlignableObjectId::stringToId().

Referenced by buildTIB(), buildTOB(), and buildTPB().

{
  align::Alignables& halfBarrels = alignableLists_.find(subDet + "HalfBarrel");

  const std::string barrelName(subDet + "Barrel");
  align::Alignables &barrel = alignableLists_.get(barrelName);
  barrel.reserve(1);
  barrel.push_back(new AlignableComposite(halfBarrels[0]->id(),AlignableObjectId::stringToId(barrelName),
                                          RotationType()));
  barrel[0]->addComponent(halfBarrels[0]);
  barrel[0]->addComponent(halfBarrels[1]);
}
void AlignableTracker::buildTEC ( ) [private]

Definition at line 215 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), align::TECDisk, align::TECEndcap, align::TECModule, align::TECPetal, align::TECRing, align::TECSide, and tkCounters_.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TECModule, tkCounters_);

  builder.addLevelInfo(align::TECRing  , true,  7); // max 7 rings per petal
  builder.addLevelInfo(align::TECPetal , true,  8); // 8 petals per side
  builder.addLevelInfo(align::TECSide  , false, 2); // 2 sides per disk
  builder.addLevelInfo(align::TECDisk  , false, 9); // 9 disks per endcap
  builder.addLevelInfo(align::TECEndcap, false, 2); // 2 endcaps in TEC
  builder.buildAll( alignableLists_ );
}
void AlignableTracker::buildTIB ( ) [private]

Definition at line 175 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), buildBarrel(), align::TIBHalfBarrel, align::TIBHalfShell, align::TIBLayer, align::TIBModule, align::TIBString, align::TIBSurface, and tkCounters_.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TIBModule, tkCounters_);

  builder.addLevelInfo(align::TIBString    , true, 28); // max 22 strings per surface
  builder.addLevelInfo(align::TIBSurface   , false, 2); // 2 surfaces per half shell
  builder.addLevelInfo(align::TIBHalfShell , false, 2); // 2 half shells per layer
  builder.addLevelInfo(align::TIBLayer     , false, 4); // 4 layers per half barrel
  builder.addLevelInfo(align::TIBHalfBarrel, false, 2); // 2 half barrels in TIB
  builder.buildAll( alignableLists_ );

  buildBarrel("TIB");
}
void AlignableTracker::buildTID ( ) [private]

Definition at line 190 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), align::TIDDisk, align::TIDEndcap, align::TIDModule, align::TIDRing, align::TIDSide, and tkCounters_.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TIDModule, tkCounters_);

  builder.addLevelInfo(align::TIDSide  , false, 2); // 2 sides per ring
  builder.addLevelInfo(align::TIDRing  , false, 3); // 3 rings per disk
  builder.addLevelInfo(align::TIDDisk  , false, 3); // 3 disks per endcap
  builder.addLevelInfo(align::TIDEndcap, false, 2); // 2 endcaps in TID
  builder.buildAll( alignableLists_ );
}
void AlignableTracker::buildTOB ( ) [private]

Definition at line 202 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), buildBarrel(), tkCounters_, align::TOBHalfBarrel, align::TOBLayer, align::TOBModule, and align::TOBRod.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TOBModule, tkCounters_);

  builder.addLevelInfo(align::TOBRod       , true, 74); // max 74 rods per layer
  builder.addLevelInfo(align::TOBLayer     , false, 6); // 6 layers per half barrel
  builder.addLevelInfo(align::TOBHalfBarrel, false, 2); // 2 half barrels in TOB
  builder.buildAll( alignableLists_ );

  buildBarrel("TOB");
}
void AlignableTracker::buildTPB ( ) [private]

Definition at line 149 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), buildBarrel(), tkCounters_, align::TPBHalfBarrel, align::TPBLadder, align::TPBLayer, and align::TPBModule.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TPBModule, tkCounters_ );

  builder.addLevelInfo(align::TPBLadder    , true, 22); // max 22 ladders per layer
  builder.addLevelInfo(align::TPBLayer     , false, 3); // 3 layers per half barrel
  builder.addLevelInfo(align::TPBHalfBarrel, false, 2); // 2 half barrels in TPB
  builder.buildAll( alignableLists_ );

  buildBarrel("TPB");
}
void AlignableTracker::buildTPE ( ) [private]

Definition at line 162 of file AlignableTracker.cc.

References AlignableBuilder::addLevelInfo(), alignableLists_, AlignableBuilder::buildAll(), tkCounters_, align::TPEBlade, align::TPEEndcap, align::TPEHalfCylinder, align::TPEHalfDisk, align::TPEModule, and align::TPEPanel.

Referenced by AlignableTracker().

{
  AlignableBuilder builder(align::TPEModule, tkCounters_);

  builder.addLevelInfo(align::TPEPanel       , true,  2); // 2 panels per blade
  builder.addLevelInfo(align::TPEBlade       , true, 12); // 12 blades per half disk
  builder.addLevelInfo(align::TPEHalfDisk    , false, 3); // max 3 disks per cylinder
  builder.addLevelInfo(align::TPEHalfCylinder, false, 2); // 2 HC per endcap
  builder.addLevelInfo(align::TPEEndcap      , false, 2); // 2 endcaps in TPE
  builder.buildAll( alignableLists_ );
}
void AlignableTracker::buildTRK ( ) [private]

Definition at line 228 of file AlignableTracker.cc.

References AlignableComposite::addComponent(), AlignableComposite::AlignableComposite(), alignableLists_, AlignSetup< Type >::find(), AlignSetup< Type >::get(), align::Pixel, align::Strip, strip(), and patCandidatesForDimuonsSequences_cff::tracker.

Referenced by AlignableTracker().

{
  // Build pixel, strip and full tracker 'by hand':
  
  // First create pixel:
  const align::Alignables &pixelBarrel = alignableLists_.find("TPBBarrel");
  const align::Alignables &pixelEndcap = alignableLists_.find("TPEEndcap");
  align::Alignables &pixel = alignableLists_.get("Pixel");
  pixel.reserve(1);
  pixel.push_back(new AlignableComposite(pixelBarrel[0]->id(), align::Pixel, RotationType()));
  pixel[0]->addComponent(pixelBarrel[0]);
  pixel[0]->addComponent(pixelEndcap[0]);
  pixel[0]->addComponent(pixelEndcap[1]);

  // Now create strip:
  const align::Alignables &innerBarrel = alignableLists_.find("TIBBarrel");
  const align::Alignables &outerBarrel = alignableLists_.find("TOBBarrel");
  const align::Alignables &innerEndcap = alignableLists_.find("TIDEndcap");
  const align::Alignables &outerEndcap = alignableLists_.find("TECEndcap");
  align::Alignables &strip = alignableLists_.get("Strip");
  strip.reserve(1);
  strip.push_back(new AlignableComposite(innerBarrel[0]->id(), align::Strip, RotationType()));
  strip[0]->addComponent(innerBarrel[0]);
  strip[0]->addComponent(innerEndcap[0]);
  strip[0]->addComponent(innerEndcap[1]);
  strip[0]->addComponent(outerBarrel[0]);
  strip[0]->addComponent(outerEndcap[0]);
  strip[0]->addComponent(outerEndcap[1]);

  // Finally add strip and pixel to tracker - that of course already exists:
  align::Alignables &tracker = alignableLists_.get("Tracker");
  tracker.reserve(1);
  tracker.push_back(this);
  this->addComponent(pixel[0]); // add to tracker
  this->addComponent(strip[0]); // add to tracker

}
void AlignableTracker::detsToAlignables ( const TrackingGeometry::DetContainer dets,
const std::string &  moduleName 
) [private]

Create list of lower-level modules.

Definition at line 50 of file AlignableTracker.cc.

References align::AlignableDetUnit, alignableLists_, AlignableComposite::components(), Exception, AlignSetup< Type >::get(), SiStripDetId::glued(), i, LogDebug, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, SiStripDetId::TEC, SiStripDetId::TIB, SiStripDetId::TID, and SiStripDetId::TOB.

Referenced by AlignableTracker().

{
  unsigned int nDet = dets.size();

  align::Alignables& alis = alignableLists_.get(moduleName);
  alis.reserve(nDet);
  align::Alignables *aliUnits = 0;// If we need also units, they will be at moduleName + "Unit".

  for (unsigned int i = 0; i < nDet; ++i) {
   
    const unsigned int subdetId = dets[i]->geographicalId().subdetId();//don't check det()==Tracker
    if (subdetId == PixelSubdetector::PixelBarrel || subdetId == PixelSubdetector::PixelEndcap) {
      // Treat all pixel dets in same way with one AlignableDetUnit.
      const GeomDetUnit *detUnit = dynamic_cast<const GeomDetUnit*>(dets[i]);
      if (!detUnit) {
        throw cms::Exception("BadHierarchy") 
          << "[AlignableTracker] Pixel GeomDet (subdetector " << subdetId << ") not GeomDetUnit.\n";
      }
      alis.push_back(new AlignableDetUnit(detUnit));

      // Add pixel modules to list of units since they are in fact units
      if (!aliUnits) {
        aliUnits = &alignableLists_.get(moduleName + "Unit");
        aliUnits->reserve(576); // ugly hardcode to save some memory due to vector doubling
      }
      aliUnits->push_back(alis.back());
    
    } else if (subdetId == SiStripDetId::TIB || subdetId == SiStripDetId::TID
               || subdetId == SiStripDetId::TOB || subdetId == SiStripDetId::TEC) {
      // In strip we have:
      // 1) 'Pure' 1D-modules like TOB layers 3-6 (not glued): AlignableDetUnit
      // 2) Composite 2D-modules like TOB layers 1&2 (not glued): AlignableDet
      // 3) The two 1D-components of case 2 (glued): AlignableDetUnit that is constructed
      //      inside AlignableDet-constructor of 'mother', only need to add to alignableLists_
      const SiStripDetId detId(dets[i]->geographicalId());
      if (!detId.glued()) { // 2D- or 'pure' 1D-module
        if (dets[i]->components().size()) { // 2D-module
          const GluedGeomDet *gluedDet = dynamic_cast<GluedGeomDet*>(dets[i]);
          if (!gluedDet) {
            throw cms::Exception("LogicError") 
              << "[AlignableTracker]" << "dynamic_cast<GluedGeomDet*> failed.\n";
          }
          alis.push_back(new AlignableSiStripDet(gluedDet)); // components constructed within
          const align::Alignables detUnits(alis.back()->components());
          // Ensure pointer existence and make list available via moduleName appended with "Unit"
          if (!aliUnits) {
            aliUnits = &alignableLists_.get(moduleName + "Unit");
            aliUnits->reserve(576); // ugly hardcode to save some memory due to vector doubling
          }
          aliUnits->insert(aliUnits->end(), detUnits.begin(), detUnits.end()); // only 2...
        } else { // no components: pure 1D-module
          const GeomDetUnit *detUnit = dynamic_cast<const GeomDetUnit*>(dets[i]);
          if (!detUnit) {
            throw cms::Exception("BadHierarchy") 
              << "[AlignableTracker] pure 1D GeomDet (subdetector " << subdetId << ") not GeomDetUnit.\n";
          }
          alis.push_back(new AlignableDetUnit(detUnit));

          // Add pure 1D-modules to list of units since they are in fact units
          if (!aliUnits) {
            aliUnits = &alignableLists_.get(moduleName + "Unit");
            aliUnits->reserve(576); // ugly hardcode to save some memory due to vector doubling
          }
          aliUnits->push_back(alis.back());
        }
      } // no else: glued components of AlignableDet constructed within AlignableDet, see above
    } else {
      throw cms::Exception("LogicError") 
        << "[AlignableTracker] GeomDet of unknown subdetector.";
    }
  }

  LogDebug("Alignment") << "@SUB=AlignableTracker"
                        << alis.size() << " AlignableDet(Unit)s for " << moduleName;
  if (aliUnits) {
    LogDebug("Alignment") << "@SUB=AlignableTracker"
                          << aliUnits->size() << " AlignableDetUnits for " 
                          << moduleName + "Unit (capacity = " << aliUnits->capacity() << ").";
  }
  
}
Alignables& AlignableTracker::endcapGeomDets ( ) [inline]
Alignables& AlignableTracker::endcapLayers ( ) [inline]

Return endcap layers.

Definition at line 86 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllLayers(), AlignmentParameterSelector::addSelection(), and SurveyDataConverter::applyAPEs().

{ return this->subStructures("TECDisk");}
Alignables& AlignableTracker::endcapPetals ( ) [inline]

Return encap petals.

Definition at line 69 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllRods(), AlignmentParameterSelector::addSelection(), and SurveyDataConverter::applyAPEs().

{ return this->subStructures("TECPetal");}
Alignables& AlignableTracker::endCaps ( ) [inline]

Return TECs.

Definition at line 34 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), SurveyDataConverter::applyAPEs(), and LASGeometryUpdater::TrackerUpdate().

{ return this->subStructures("TECEndcap");}
Alignables& AlignableTracker::innerBarrelGeomDets ( ) [inline]
Alignables& AlignableTracker::innerBarrelLayers ( ) [inline]

Return inner barrel layers.

Definition at line 80 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), SurveyDataConverter::applyAPEs(), and barrelLayers().

{ return this->subStructures("TIBLayer");}
Alignables& AlignableTracker::innerBarrelRods ( ) [inline]

Return inner barrel rods.

Definition at line 63 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), and barrelRods().

{ return this->subStructures("TIBString");}
Alignables& AlignableTracker::innerHalfBarrels ( ) [inline]

Return TIB half barrels.

Definition at line 30 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), SurveyDataConverter::applyAPEs(), and LASGeometryUpdater::TrackerUpdate().

{ return this->subStructures("TIBHalfBarrel");}
align::Alignables AlignableTracker::merge ( const Alignables list1,
const Alignables list2 
) const [private]

Definition at line 268 of file AlignableTracker.cc.

References cond::ecalcond::all.

Referenced by barrelGeomDets(), barrelLayers(), barrelRods(), and TIBTIDGeomDets().

{
  Alignables all = list1;

  all.insert( all.end(), list2.begin(), list2.end() );

  return all;
}
Alignables& AlignableTracker::outerBarrelGeomDets ( ) [inline]
Alignables& AlignableTracker::outerBarrelLayers ( ) [inline]

Return outer barrel layers.

Definition at line 82 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), and barrelLayers().

{ return this->subStructures("TOBLayer");}
Alignables& AlignableTracker::outerBarrelRods ( ) [inline]

Return outer barrel rods.

Definition at line 65 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), SurveyDataConverter::applyAPEs(), and barrelRods().

{ return this->subStructures("TOBRod");}
Alignables& AlignableTracker::outerHalfBarrels ( ) [inline]

Return TOB half barrels.

Definition at line 28 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), SurveyDataConverter::applyAPEs(), and LASGeometryUpdater::TrackerUpdate().

{ return this->subStructures("TOBHalfBarrel");}
Alignables& AlignableTracker::pixelEndcapGeomDets ( ) [inline]
Alignables& AlignableTracker::pixelEndcapLayers ( ) [inline]

Return pixel endcap layers.

Definition at line 90 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllLayers(), and AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPEHalfDisk");}
Alignables& AlignableTracker::pixelEndcapPetals ( ) [inline]

Return pixel endcap petals.

Definition at line 73 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllRods(), and AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPEPanel");}
Alignables& AlignableTracker::pixelEndCaps ( ) [inline]

Return TPEs.

Definition at line 36 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPEEndcap");}
Alignables& AlignableTracker::pixelHalfBarrelGeomDets ( ) [inline]
Alignables& AlignableTracker::pixelHalfBarrelLadders ( ) [inline]

Return pixel half barrel ladders (implemented as AlignableRods)

Definition at line 67 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllRods(), and AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPBLadder");}
Alignables& AlignableTracker::pixelHalfBarrelLayers ( ) [inline]

Return pixel half barrel layers.

Definition at line 84 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllLayers(), and AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPBLayer");}
Alignables& AlignableTracker::pixelHalfBarrels ( ) [inline]

Return Pixel half barrels.

Definition at line 32 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection().

{ return this->subStructures("TPBHalfBarrel");}
Alignables& AlignableTracker::subStructures ( const std::string &  subStructName) [inline]
Alignables AlignableTracker::TIBTIDGeomDets ( ) [inline]

Return inner barrel and TID GeomDets together.

Definition at line 44 of file AlignableTracker.h.

References innerBarrelGeomDets(), merge(), and TIDGeomDets().

Referenced by TrackerAlignment::moveAlignableTIBTIDs().

                              { return this->merge(this->innerBarrelGeomDets(),
                                                   this->TIDGeomDets());
  }
Alignables& AlignableTracker::TIDGeomDets ( ) [inline]
Alignables& AlignableTracker::TIDLayers ( ) [inline]

Return TID layers.

Definition at line 88 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllLayers(), AlignmentParameterSelector::addSelection(), and SurveyDataConverter::applyAPEs().

{ return this->subStructures("TIDDisk");}
Alignables& AlignableTracker::TIDRings ( ) [inline]

Return TID rings.

Definition at line 71 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addAllRods(), AlignmentParameterSelector::addSelection(), and SurveyDataConverter::applyAPEs().

{ return this->subStructures("TIDRing");}
Alignables& AlignableTracker::TIDs ( ) [inline]

Return TIDs.

Definition at line 38 of file AlignableTracker.h.

References subStructures().

Referenced by AlignmentParameterSelector::addSelection(), and SurveyDataConverter::applyAPEs().

{ return this->subStructures("TIDEndcap");}

Member Data Documentation

Definition at line 119 of file AlignableTracker.h.

Referenced by buildTEC(), buildTIB(), buildTID(), buildTOB(), buildTPB(), and buildTPE().