CMS 3D CMS Logo

Public Member Functions | Private Attributes

RecoIdealGeometry Class Reference

#include <RecoIdealGeometry.h>

List of all members.

Public Member Functions

const std::vector< DetId > & detIds () const
bool insert (DetId id, const std::vector< double > &trans, const std::vector< double > &rot, const std::vector< double > &pars, const std::vector< std::string > &spars)
bool insert (DetId id, const std::vector< double > &trans, const std::vector< double > &rot, const std::vector< double > &pars)
 RecoIdealGeometry ()
std::vector< double >
::const_iterator 
rotEnd (size_t ind) const
std::vector< double >
::const_iterator 
rotStart (size_t ind) const
std::vector< double >
::const_iterator 
shapeEnd (size_t ind) const
std::vector< double >
::const_iterator 
shapeStart (size_t ind) const
size_t size ()
std::vector< std::string >
::const_iterator 
strEnd (size_t ind) const
std::vector< std::string >
::const_iterator 
strStart (size_t ind) const
std::vector< double >
::const_iterator 
tranEnd (size_t ind) const
std::vector< double >
::const_iterator 
tranStart (size_t ind) const
 ~RecoIdealGeometry ()

Private Attributes

std::vector< DetIdpDetIds
std::vector< int > pNumShapeParms
std::vector< double > pPars
std::vector< int > pParsIndex
std::vector< int > sNumsParms
std::vector< int > sParsIndex
std::vector< std::string > strPars

Detailed Description

Definition at line 26 of file RecoIdealGeometry.h.


Constructor & Destructor Documentation

RecoIdealGeometry::RecoIdealGeometry ( ) [inline]

Definition at line 29 of file RecoIdealGeometry.h.

{ }
RecoIdealGeometry::~RecoIdealGeometry ( ) [inline]

Definition at line 30 of file RecoIdealGeometry.h.

{ }

Member Function Documentation

const std::vector<DetId>& RecoIdealGeometry::detIds ( ) const [inline]
bool RecoIdealGeometry::insert ( DetId  id,
const std::vector< double > &  trans,
const std::vector< double > &  rot,
const std::vector< double > &  pars 
) [inline]

Definition at line 32 of file RecoIdealGeometry.h.

References filterCSVwithJSON::copy, pDetIds, pNumShapeParms, pPars, and pParsIndex.

Referenced by CSCGeometryParsFromDD::build(), GEMGeometryParsFromDD::buildGeometry(), RPCGeometryParsFromDD::buildGeometry(), DTGeometryParsFromDD::insertChamber(), DTGeometryParsFromDD::insertLayer(), and DTGeometryParsFromDD::insertSuperLayer().

                                                                                                                       {
    if ( trans.size() != 3 || rot.size() != 9 ) return false;
    pDetIds.push_back(id);
    pNumShapeParms.push_back(pars.size()); // number of shape specific parameters.
    pParsIndex.push_back(pPars.size()); // start of this guys "blob"
    pPars.reserve(pPars.size() + trans.size() + rot.size() + pars.size());
    std::copy ( trans.begin(), trans.end(), std::back_inserter(pPars));
    std::copy ( rot.begin(), rot.end(), std::back_inserter(pPars));
    std::copy ( pars.begin(), pars.end(), std::back_inserter(pPars));
    return true;
  }
bool RecoIdealGeometry::insert ( DetId  id,
const std::vector< double > &  trans,
const std::vector< double > &  rot,
const std::vector< double > &  pars,
const std::vector< std::string > &  spars 
) [inline]

Definition at line 44 of file RecoIdealGeometry.h.

References filterCSVwithJSON::copy, pDetIds, pNumShapeParms, pPars, pParsIndex, sNumsParms, sParsIndex, and strPars.

                                                                                                                                                          {
    if ( trans.size() != 3 || rot.size() != 9 ) return false;
    pDetIds.push_back(id);
    pNumShapeParms.push_back(pars.size()); // number of shape specific parameters.
    pParsIndex.push_back(pPars.size()); // start of this guys "blob"
    pPars.reserve(pPars.size() + trans.size() + rot.size() + pars.size());
    std::copy ( trans.begin(), trans.end(), std::back_inserter(pPars));
    std::copy ( rot.begin(), rot.end(), std::back_inserter(pPars));
    std::copy ( pars.begin(), pars.end(), std::back_inserter(pPars));

    sNumsParms.push_back(spars.size());
    sParsIndex.push_back(strPars.size());
    strPars.reserve(strPars.size()+spars.size());
    std::copy ( spars.begin(), spars.end(), std::back_inserter(strPars));
    return true;
  }
std::vector<double>::const_iterator RecoIdealGeometry::rotEnd ( size_t  ind) const [inline]

Definition at line 91 of file RecoIdealGeometry.h.

References pPars, and pParsIndex.

Referenced by CSCGeometryBuilder::build().

                                                              {
    return pPars.begin() + pParsIndex[ind] + 3 + 9;
  }
std::vector<double>::const_iterator RecoIdealGeometry::rotStart ( size_t  ind) const [inline]
std::vector<double>::const_iterator RecoIdealGeometry::shapeEnd ( size_t  ind) const [inline]

Definition at line 99 of file RecoIdealGeometry.h.

References pNumShapeParms, pPars, and pParsIndex.

Referenced by CSCGeometryBuilder::build(), and RPCGeometryBuilderFromCondDB::build().

                                                                {
    return pPars.begin() + pParsIndex[ind] + 3 + 9 + pNumShapeParms[ind];
  }
std::vector<double>::const_iterator RecoIdealGeometry::shapeStart ( size_t  ind) const [inline]
size_t RecoIdealGeometry::size ( void  ) [inline]

Definition at line 61 of file RecoIdealGeometry.h.

References pDetIds, pNumShapeParms, and pParsIndex.

                { 
    assert ( (pDetIds.size() == pNumShapeParms.size()) && (pNumShapeParms.size() == pParsIndex.size()) );
    return pDetIds.size(); 
  }
std::vector<std::string>::const_iterator RecoIdealGeometry::strEnd ( size_t  ind) const [inline]

Definition at line 107 of file RecoIdealGeometry.h.

References sNumsParms, sParsIndex, and strPars.

                                                                 {
    return strPars.begin() + sParsIndex[ind] + sNumsParms[ind];
  }
std::vector<std::string>::const_iterator RecoIdealGeometry::strStart ( size_t  ind) const [inline]

Definition at line 103 of file RecoIdealGeometry.h.

References sParsIndex, and strPars.

Referenced by GEMGeometryBuilderFromCondDB::build(), and RPCGeometryBuilderFromCondDB::build().

                                                                   {
    return strPars.begin() + sParsIndex[ind];
  }
std::vector<double>::const_iterator RecoIdealGeometry::tranEnd ( size_t  ind) const [inline]

Definition at line 83 of file RecoIdealGeometry.h.

References pPars, and pParsIndex.

Referenced by CSCGeometryBuilder::build().

                                                               { 
     return pPars.begin() + pParsIndex[ind] + 3; 
  }
std::vector<double>::const_iterator RecoIdealGeometry::tranStart ( size_t  ind) const [inline]

Member Data Documentation

std::vector<DetId> RecoIdealGeometry::pDetIds [private]

Definition at line 114 of file RecoIdealGeometry.h.

Referenced by detIds(), insert(), and size().

std::vector<int> RecoIdealGeometry::pNumShapeParms [private]

Definition at line 120 of file RecoIdealGeometry.h.

Referenced by insert(), shapeEnd(), and size().

std::vector<double> RecoIdealGeometry::pPars [private]

Definition at line 116 of file RecoIdealGeometry.h.

Referenced by insert(), rotEnd(), rotStart(), shapeEnd(), shapeStart(), tranEnd(), and tranStart().

std::vector<int> RecoIdealGeometry::pParsIndex [private]

Definition at line 119 of file RecoIdealGeometry.h.

Referenced by insert(), rotEnd(), rotStart(), shapeEnd(), shapeStart(), size(), tranEnd(), and tranStart().

std::vector<int> RecoIdealGeometry::sNumsParms [private]

Definition at line 124 of file RecoIdealGeometry.h.

Referenced by insert(), and strEnd().

std::vector<int> RecoIdealGeometry::sParsIndex [private]

Definition at line 123 of file RecoIdealGeometry.h.

Referenced by insert(), strEnd(), and strStart().

std::vector<std::string> RecoIdealGeometry::strPars [private]

Definition at line 122 of file RecoIdealGeometry.h.

Referenced by insert(), strEnd(), and strStart().