CMS 3D CMS Logo

GeometricDet Class Reference

Composite class GeometricDet. More...

#include <Geometry/TrackerNumberingBuilder/interface/GeometricDet.h>

List of all members.

Public Types

typedef std::vector
< GeometricDet const * > 
ConstGeometricDetContainer
enum  GDEnumType {
  unknown = 100, Tracker = 0, PixelBarrel = 1, PixelEndCap = 2,
  TIB = 3, TID = 4, TOB = 5, TEC = 6,
  layer = 8, wheel = 9, strng = 10, rod = 11,
  petal = 12, ring = 13, ladder = 14, mergedDet = 15,
  DetUnit = 16, disk = 17, panel = 18
}
typedef std::vector
< GeometricDet const * > 
GeometricDetContainer
typedef enum
GeometricDet::GDEnumType 
GeometricEnumType
typedef DDExpandedView::nav_type nav_type
typedef Surface::PositionType Position
typedef Surface::RotationType Rotation

Public Member Functions

void addComponent (GeometricDet *)
void addComponents (GeometricDetContainer const &cont)
const Boundsbounds () const
 bounds() returns the Bounds.
void clearComponents ()
 clearComponents() only empties the container, the components are not deleted!
GeometricDetContainer const & components () const
GeometricDetContainercomponents ()
 components() returns explicit components; please note that in case of a leaf GeometricDet it returns nothing (an empty vector)
int copyno () const
void deepComponents (GeometricDetContainer &cont) const
ConstGeometricDetContainer deepComponents () const
 deepComponents() returns all the components below; please note that if the current GeometricDet is a leaf, it returns it!
void deleteComponents ()
 deleteComponents() explicitly deletes the daughters
double density () const
DetId geographicalId () const
DetId geographicalID () const
 geometricalID() returns the ID associated to the GeometricDet.
 GeometricDet (const PGeometricDet::Item &onePGD, GeometricEnumType dd)
 GeometricDet (DDFilteredView *fv, GeometricEnumType dd)
 GeometricDet (DDExpandedView *ev, GeometricEnumType dd)
 GeometricDet (nav_type navtype, GeometricEnumType dd)
 Constructors to be used when looping over DDD.
bool isLeaf () const
std::string const & material () const
DDName const & name () const
nav_type navType () const
std::vector< double > const & params () const
std::vector< DDExpandedNode >
const & 
parents () const
 parents() retuns the geometrical history mec: only works if this is built from DD and not from reco DB.
double phi () const
double pixROCCols () const
double pixROCRows () const
 The following four pix* methods only return meaningful results for pixels.
double pixROCx () const
double pixROCy () const
Position positionBounds () const
 positionBounds() returns the position in cm.
double radLength () const
double rho () const
DDRotationMatrix const & rotation () const
 Access methods.
Rotation rotationBounds () const
 rotationBounds() returns the rotation matrix.
void setComponents (GeometricDetContainer const &cont)
void setGeographicalID (DetId id) const
 set or add or clear components
DDSolidShape const & shape () const
double siliconAPVNum () const
bool stereo () const
 The following two are only meaningful for the silicon tracker.
DDTranslation const & translation () const
GeometricEnumType type () const
double volume () const
bool wasBuiltFromDD () const
 what it says.
double weight () const
double xi () const
 ~GeometricDet ()
 What to do in the destructor? destroy all the daughters!

Private Attributes

GeometricDetContainer _container
int _copy
nav_type _ddd
DDName _ddname
double _density
bool _fromDD
DetId _geographicalID
std::string _material
std::vector< double > _params
std::vector< DDExpandedNode_parents
double _phi
double _pixROCCols
double _pixROCRows
double _pixROCx
double _pixROCy
double _radLength
double _rho
DDRotationMatrix _rot
DDSolidShape _shape
double _siliconAPVNum
bool _stereo
DDTranslation _trans
GeometricEnumType _type
double _volume
double _weight
double _xi


Detailed Description

Composite class GeometricDet.

A composite can contain other composites, and so on; You can understand what you are looking at via enum.

Definition at line 24 of file GeometricDet.h.


Member Typedef Documentation

typedef std::vector< GeometricDet const *> GeometricDet::ConstGeometricDetContainer

Definition at line 27 of file GeometricDet.h.

typedef std::vector< GeometricDet const *> GeometricDet::GeometricDetContainer

Definition at line 28 of file GeometricDet.h.

typedef enum GeometricDet::GDEnumType GeometricDet::GeometricEnumType

typedef DDExpandedView::nav_type GeometricDet::nav_type

Definition at line 29 of file GeometricDet.h.

typedef Surface::PositionType GeometricDet::Position

Definition at line 30 of file GeometricDet.h.

typedef Surface::RotationType GeometricDet::Rotation

Definition at line 31 of file GeometricDet.h.


Member Enumeration Documentation

enum GeometricDet::GDEnumType

Enumerator:
unknown 
Tracker 
PixelBarrel 
PixelEndCap 
TIB 
TID 
TOB 
TEC 
layer 
wheel 
strng 
rod 
petal 
ring 
ladder 
mergedDet 
DetUnit 
disk 
panel 

Definition at line 36 of file GeometricDet.h.

00036                           {unknown=100, Tracker=0, PixelBarrel=1, PixelEndCap=2,
00037                           TIB=3, TID=4, TOB=5, TEC=6,
00038                           layer=8, wheel=9, strng=10, rod=11, petal=12, ring=13,
00039                           ladder=14, mergedDet=15, DetUnit=16, disk=17, panel=18 } GeometricEnumType;


Constructor & Destructor Documentation

GeometricDet::GeometricDet ( nav_type  navtype,
GeometricEnumType  dd 
)

Constructors to be used when looping over DDD.

Definition at line 79 of file GeometricDet.cc.

References _copy, _ddd, _ddname, _density, _fromDD, _material, _params, _parents, _phi, _pixROCCols, _pixROCRows, _pixROCx, _pixROCy, _radLength, _rho, _rot, _shape, _siliconAPVNum, _stereo, _trans, _volume, _weight, _xi, DDExpandedView::copyno(), density(), DDExpandedView::geoHistory(), getDouble(), getString(), DDExpandedView::goTo(), DDExpandedView::logicalPart(), material(), name(), python::trackProbabilityAnalysis_cff::parameters, DDExpandedView::rotation(), shape(), DDExpandedView::translation(), and volume().

00079                                                                    : _ddd(navtype), _type(type){ 
00080   //
00081   // I need to find the params by myself :(
00082   //
00083   _fromDD = true;
00084   DDCompactView cpv; // bad, bad, bad!
00085   DDExpandedView ev(cpv);
00086   ev.goTo(_ddd);
00087   _params = ((ev.logicalPart()).solid()).parameters();
00088   _trans = ev.translation();
00089   _phi = _trans.Phi();
00090   _rho = _trans.Rho();
00091   _rot = ev.rotation();
00092   _shape = ((ev.logicalPart()).solid()).shape();
00093   _ddname = ((ev.logicalPart()).ddname()).name();
00094   _parents = ev.geoHistory();
00095   _volume   = ((ev.logicalPart()).solid()).volume();
00096   _density  = ((ev.logicalPart()).material()).density();
00097   //  _weight  = (ev.logicalPart()).weight();
00098   _weight   = _density * ( _volume / 1000.); // volume mm3->cm3
00099   _copy     = ev.copyno();
00100   _material = ((ev.logicalPart()).material()).name();
00101   _radLength = getDouble("TrackerRadLength",ev);
00102   _xi = getDouble("TrackerXi",ev);
00103   _pixROCRows = getDouble("PixelROCRows",ev);
00104   _pixROCCols = getDouble("PixelROCCols",ev);
00105   _pixROCx = getDouble("PixelROC_X",ev);
00106   _pixROCy = getDouble("PixelROC_Y",ev);
00107   _stereo =  getString("TrackerStereoDetectors",ev)=="true";
00108   _siliconAPVNum = getDouble("SiliconAPVNumber",ev);
00109 
00110 }

GeometricDet::GeometricDet ( DDExpandedView ev,
GeometricEnumType  dd 
)

Definition at line 112 of file GeometricDet.cc.

References _copy, _ddd, _ddname, _density, _fromDD, _material, _params, _parents, _phi, _pixROCCols, _pixROCRows, _pixROCx, _pixROCy, _radLength, _rho, _rot, _shape, _siliconAPVNum, _stereo, _trans, _volume, _weight, _xi, DDExpandedView::copyno(), density(), DDExpandedView::geoHistory(), getDouble(), getString(), DDExpandedView::logicalPart(), material(), name(), DDExpandedView::navPos(), python::trackProbabilityAnalysis_cff::parameters, DDExpandedView::rotation(), shape(), DDExpandedView::translation(), and volume().

00112                                                                      : _type(type) {
00113   //
00114   // Set by hand the _ddd
00115   //
00116   _fromDD = true;
00117   _ddd = fv->navPos();
00118   _params = ((fv->logicalPart()).solid()).parameters();  
00119   _trans = fv->translation();
00120   _phi = _trans.Phi();
00121   _rho = _trans.Rho();
00122   _rot = fv->rotation();
00123   _shape = ((fv->logicalPart()).solid()).shape();
00124   _ddname = ((fv->logicalPart()).ddname()).name();
00125   _parents = fv->geoHistory();
00126   _volume   = ((fv->logicalPart()).solid()).volume();  
00127   _density  = ((fv->logicalPart()).material()).density();
00128   //  _weight   = (fv->logicalPart()).weight();  
00129   _weight   = _density * ( _volume / 1000.); // volume mm3->cm3
00130   _copy     = fv->copyno();
00131   _material = ((fv->logicalPart()).material()).name();
00132   _radLength = getDouble("TrackerRadLength",*fv);
00133   _xi = getDouble("TrackerXi",*fv);
00134   _pixROCRows = getDouble("PixelROCRows",*fv);
00135   _pixROCCols = getDouble("PixelROCCols",*fv);
00136   _pixROCx = getDouble("PixelROC_X",*fv);
00137   _pixROCy = getDouble("PixelROC_Y",*fv);
00138   _stereo =  getString("TrackerStereoDetectors",*fv)=="true";
00139   _siliconAPVNum = getDouble("SiliconAPVNumber",*fv);
00140 
00141 }

GeometricDet::GeometricDet ( DDFilteredView fv,
GeometricEnumType  dd 
)

Definition at line 143 of file GeometricDet.cc.

References _copy, _ddd, _ddname, _density, _fromDD, _material, _params, _parents, _phi, _pixROCCols, _pixROCRows, _pixROCx, _pixROCy, _radLength, _rho, _rot, _shape, _siliconAPVNum, _stereo, _trans, _volume, _weight, _xi, DDFilteredView::copyno(), density(), DDFilteredView::geoHistory(), getDouble(), getString(), DDFilteredView::logicalPart(), material(), name(), DDFilteredView::navPos(), python::trackProbabilityAnalysis_cff::parameters, DDFilteredView::rotation(), shape(), DDFilteredView::translation(), and volume().

00143                                                                      : _type(type){
00144   //
00145   // Set by hand the _ddd
00146   //
00147   _fromDD = true;
00148   _ddd = fv->navPos();
00149   _params = ((fv->logicalPart()).solid()).parameters();
00150   _trans = fv->translation();
00151   _phi = _trans.Phi();
00152   _rho = _trans.Rho();
00153   _rot = fv->rotation();
00154   _shape = ((fv->logicalPart()).solid()).shape();
00155   _ddname = ((fv->logicalPart()).ddname()).name();
00156   _parents = fv->geoHistory();
00157   _volume   = ((fv->logicalPart()).solid()).volume();
00158   _density  = ((fv->logicalPart()).material()).density();
00159   //  _weight   = (fv->logicalPart()).weight();
00160   _weight   = _density * ( _volume / 1000.); // volume mm3->cm3
00161   _copy     = fv->copyno();
00162   _material = ((fv->logicalPart()).material()).name();
00163   _radLength = getDouble("TrackerRadLength",*fv);
00164   _xi = getDouble("TrackerXi",*fv);
00165   _pixROCRows = getDouble("PixelROCRows",*fv);
00166   _pixROCCols = getDouble("PixelROCCols",*fv);
00167   _pixROCx = getDouble("PixelROC_X",*fv);
00168   _pixROCy = getDouble("PixelROC_Y",*fv);
00169   _stereo =  getString("TrackerStereoDetectors",*fv)=="true";
00170   _siliconAPVNum = getDouble("SiliconAPVNumber",*fv);
00171 
00172 }

GeometricDet::GeometricDet ( const PGeometricDet::Item onePGD,
GeometricEnumType  dd 
)

Definition at line 174 of file GeometricDet.cc.

References PGeometricDet::Item::_a11, PGeometricDet::Item::_a12, PGeometricDet::Item::_a13, PGeometricDet::Item::_a21, PGeometricDet::Item::_a22, PGeometricDet::Item::_a23, PGeometricDet::Item::_a31, PGeometricDet::Item::_a32, PGeometricDet::Item::_a33, PGeometricDet::Item::_copy, _copy, _ddd, _ddname, _density, PGeometricDet::Item::_density, _fromDD, _geographicalID, PGeometricDet::Item::_geographicalID, _material, PGeometricDet::Item::_material, PGeometricDet::Item::_name, _params, PGeometricDet::Item::_params, _parents, _phi, PGeometricDet::Item::_phi, PGeometricDet::Item::_pixROCCols, _pixROCCols, _pixROCRows, PGeometricDet::Item::_pixROCRows, _pixROCx, PGeometricDet::Item::_pixROCx, _pixROCy, PGeometricDet::Item::_pixROCy, PGeometricDet::Item::_radLength, _radLength, _rho, PGeometricDet::Item::_rho, _rot, PGeometricDet::Item::_shape, _shape, PGeometricDet::Item::_siliconAPVNum, _siliconAPVNum, _stereo, PGeometricDet::Item::_stereo, _trans, PGeometricDet::Item::_volume, _volume, _weight, PGeometricDet::Item::_weight, PGeometricDet::Item::_x, PGeometricDet::Item::_xi, _xi, PGeometricDet::Item::_y, and PGeometricDet::Item::_z.

00174                                                                                     : _type(type) {
00175   // PGeometricDet is persistent version... make it... then come back here and make the
00176   // constructor.
00177   _fromDD = false;
00178   _ddd = std::vector<int>(); // basically empty nav_type!
00179   _params = (onePGD._params);
00180   _trans = DDTranslation(onePGD._x, onePGD._y, onePGD._z);
00181   _phi = onePGD._phi;//_trans.Phi();
00182   _rho = onePGD._rho;//_trans.Rho();
00183   _rot = DDRotationMatrix(onePGD._a11, onePGD._a12, onePGD._a13, 
00184                           onePGD._a21, onePGD._a22, onePGD._a23,
00185                           onePGD._a31, onePGD._a32, onePGD._a33);
00186   _shape = DDSolidShape(onePGD._shape);
00187   //  std::cout << "name = " << onePGD._name;
00188   _ddname = DDName(onePGD._name, "fromdb");
00189   //  std::cout << "DDName = " << _ddname << std::endl;
00190   _parents = DDGeoHistory(); // will remain empty... hate wasting the space but want all methods to work.
00191   _volume = onePGD._volume;
00192   _density = onePGD._density;
00193   _weight = onePGD._weight;
00194   _copy = onePGD._copy;
00195   _material = onePGD._material;
00196   _radLength = onePGD._radLength;
00197   _xi = onePGD._xi;
00198   _pixROCRows = onePGD._pixROCRows;
00199   _pixROCCols = onePGD._pixROCCols;
00200   _pixROCx = onePGD._pixROCx;
00201   _pixROCy = onePGD._pixROCy;
00202   _stereo =  onePGD._stereo;
00203   _siliconAPVNum = onePGD._siliconAPVNum;
00204   _geographicalID = DetId(onePGD._geographicalID);
00205 
00206 }

GeometricDet::~GeometricDet (  ) 

What to do in the destructor? destroy all the daughters!

Definition at line 74 of file GeometricDet.cc.

References deleteComponents().

00074                            {
00075   deleteComponents();
00076 }


Member Function Documentation

void GeometricDet::addComponent ( GeometricDet det  ) 

Definition at line 237 of file GeometricDet.cc.

References _container.

Referenced by CmsTrackerPetalBuilder::buildComponent(), CmsTrackerBuilder::buildComponent(), CmsTrackerWheelBuilder::buildComponent(), CmsTrackerSubStrctBuilder::buildComponent(), CmsDetConstruction::buildComponent(), CmsTrackerLayerBuilder::buildComponent(), CmsTrackerDiskBuilder::buildComponent(), CmsDetConstruction::buildSmallDets(), and CondDBCmsTrackerConstruction::construct().

00237                                                 {
00238   _container.push_back(det);
00239 }

void GeometricDet::addComponents ( GeometricDetContainer const &  cont  ) 

Definition at line 227 of file GeometricDet.cc.

References _container, and edmNew::copy().

Referenced by CmsTrackerStringBuilder::sortNS(), CmsTrackerDiskBuilder::sortNS(), CmsTrackerRingBuilder::sortNS(), CmsTrackerWheelBuilder::sortNS(), and CmsTrackerLayerBuilder::sortNS().

00227                                                                   {
00228   if (_container.empty()) {
00229     _container=cont;
00230     return;
00231   }
00232   _container.reserve(_container.size()+cont.size());
00233   std::copy(cont.begin(), cont.end(), back_inserter(_container));
00234 }

const Bounds * GeometricDet::bounds (  )  const

bounds() returns the Bounds.

Definition at line 270 of file GeometricDet.cc.

References _params, _shape, and TrackerShapeToBounds::buildBounds().

00270                                          {
00271   const std::vector<double>& par = _params;
00272   Bounds * bounds = 0;
00273   TrackerShapeToBounds shapeToBounds;
00274   bounds = shapeToBounds.buildBounds(_shape,par);
00275   return bounds;
00276 }

void GeometricDet::clearComponents (  )  [inline]

clearComponents() only empties the container, the components are not deleted!

Definition at line 64 of file GeometricDet.h.

References _container.

Referenced by CmsTrackerDiskBuilder::sortNS(), CmsTrackerStringBuilder::sortNS(), CmsTrackerRingBuilder::sortNS(), CmsTrackerWheelBuilder::sortNS(), and CmsTrackerLayerBuilder::sortNS().

00064 {_container.clear();}

GeometricDetContainer const& GeometricDet::components (  )  const [inline]

Definition at line 99 of file GeometricDet.h.

References _container.

00099                                                     {
00100     return _container;
00101   }

GeometricDetContainer& GeometricDet::components (  )  [inline]

components() returns explicit components; please note that in case of a leaf GeometricDet it returns nothing (an empty vector)

Definition at line 96 of file GeometricDet.h.

References _container.

Referenced by TIDLayerBuilder::build(), TIBLayerBuilder::build(), PixelRodBuilder::build(), TOBLayerBuilder::build(), PixelForwardLayerBuilder::build(), TIDRingBuilder::build(), TECWedgeBuilder::build(), TOBRodBuilder::build(), GeometricSearchTrackerBuilder::build(), PixelBarrelLayerBuilder::build(), TECLayerBuilder::build(), PixelBladeBuilder::build(), TECPetalBuilder::build(), CmsTrackerLevelBuilder::ExtractPhiModule::operator()(), CmsTrackerDiskBuilder::sortNS(), CmsTrackerStringBuilder::sortNS(), CmsTrackerRingBuilder::sortNS(), CmsTrackerPetalBuilder::sortNS(), CmsTrackerBuilder::sortNS(), CmsTrackerLadderBuilder::sortNS(), CmsTrackerWheelBuilder::sortNS(), CmsTrackerPanelBuilder::sortNS(), CmsTrackerSubStrctBuilder::sortNS(), CmsTrackerLayerBuilder::sortNS(), and CmsTrackerRodBuilder::sortNS().

00096                                          {
00097     return _container;
00098    }  

int GeometricDet::copyno (  )  const [inline]

Definition at line 139 of file GeometricDet.h.

References _copy.

00139 {return _copy;}

void GeometricDet::deepComponents ( GeometricDetContainer cont  )  const

Definition at line 217 of file GeometricDet.cc.

References _container, deepComponents(), and isLeaf().

00217                                                                     {
00218   if (isLeaf())
00219     cont.push_back(const_cast<GeometricDet*>(this));
00220   else 
00221     std::for_each(_container.begin(),_container.end(), 
00222                   boost::bind(&GeometricDet::deepComponents,_1,boost::ref(cont))
00223                   );
00224 }

GeometricDet::ConstGeometricDetContainer GeometricDet::deepComponents (  )  const

deepComponents() returns all the components below; please note that if the current GeometricDet is a leaf, it returns it!

Definition at line 208 of file GeometricDet.cc.

Referenced by TrackerGeomBuilderFromGeometricDet::build(), TrackerMapDDDtoID::buildAllStep2(), deepComponents(), CmsTrackerLevelBuilder::ExtractPhiGluedModule::operator()(), and CmsTrackerLevelBuilder::LessR_module::operator()().

00208                                                                           {
00209   //
00210   // iterate on all the components ;)
00211   //
00212   ConstGeometricDetContainer _temp;
00213   deepComponents(_temp);
00214   return _temp;
00215 }

void GeometricDet::deleteComponents (  ) 

deleteComponents() explicitly deletes the daughters

Definition at line 247 of file GeometricDet.cc.

References _container.

Referenced by ~GeometricDet().

00247                                    {
00248   std::for_each(_container.begin(),_container.end(),Deleter()); 
00249   _container.clear();
00250 }

double GeometricDet::density (  )  const [inline]

Definition at line 141 of file GeometricDet.h.

References _density.

Referenced by GeometricDet().

00141 {return _density;}

DetId GeometricDet::geographicalId (  )  const [inline]

Definition at line 122 of file GeometricDet.h.

References _geographicalID.

00122 { return _geographicalID; }

DetId GeometricDet::geographicalID (  )  const [inline]

geometricalID() returns the ID associated to the GeometricDet.

Definition at line 121 of file GeometricDet.h.

References _geographicalID.

Referenced by CmsTrackerDetIdBuilder::buildId(), PixelGeomDetUnit::geographicalId(), and StripGeomDetUnit::geographicalId().

00121 { return _geographicalID; }

bool GeometricDet::isLeaf (  )  const [inline]

Definition at line 72 of file GeometricDet.h.

References _container.

Referenced by deepComponents().

00072 {return _container.empty();}

std::string const& GeometricDet::material (  )  const [inline]

Definition at line 143 of file GeometricDet.h.

References _material.

Referenced by GeometricDet().

00143 {return _material;}

DDName const& GeometricDet::name (  )  const [inline]

Definition at line 85 of file GeometricDet.h.

References _ddname.

Referenced by GeometricDet().

00085 {return _ddname;};

nav_type GeometricDet::navType (  )  const [inline]

Definition at line 86 of file GeometricDet.h.

References _ddd.

00086 {return _ddd;}

std::vector<double> const& GeometricDet::params (  )  const [inline]

Definition at line 87 of file GeometricDet.h.

References _params.

Referenced by CmsTrackerLayerBuilder::sortNS().

00087 {return _params;}

std::vector< DDExpandedNode > const& GeometricDet::parents (  )  const [inline]

parents() retuns the geometrical history mec: only works if this is built from DD and not from reco DB.

Definition at line 115 of file GeometricDet.h.

References _parents.

00115 {return _parents;}

double GeometricDet::phi ( void   )  const [inline]

Definition at line 79 of file GeometricDet.h.

References _phi.

Referenced by CmsTrackerLevelBuilder::ExtractPhi::operator()(), and CmsTrackerLevelBuilder::ExtractPhiMirror::operator()().

00079 { return _phi; }

double GeometricDet::pixROCCols (  )  const [inline]

Definition at line 150 of file GeometricDet.h.

References _pixROCCols.

00150 {return _pixROCCols;}

double GeometricDet::pixROCRows (  )  const [inline]

The following four pix* methods only return meaningful results for pixels.

Definition at line 149 of file GeometricDet.h.

References _pixROCRows.

00149 {return _pixROCRows;}

double GeometricDet::pixROCx (  )  const [inline]

Definition at line 151 of file GeometricDet.h.

References _pixROCx.

00151 {return _pixROCx;}

double GeometricDet::pixROCy (  )  const [inline]

Definition at line 152 of file GeometricDet.h.

References _pixROCy.

00152 {return _pixROCy;}

GeometricDet::Position GeometricDet::positionBounds (  )  const

positionBounds() returns the position in cm.

Definition at line 253 of file GeometricDet.cc.

References _trans.

Referenced by PlaneBuilderFromGeometricDet::plane().

00253                                                        {
00254 
00255   Position _pos(float(_trans.x()/cm), 
00256                 float(_trans.y()/cm), 
00257                 float(_trans.z()/cm));
00258   return _pos;
00259 }

double GeometricDet::radLength (  )  const [inline]

Definition at line 144 of file GeometricDet.h.

References _radLength.

Referenced by TrackerGeomBuilderFromGeometricDet::buildPlaneWithMaterial().

00144 {return _radLength;}

double GeometricDet::rho (  )  const [inline]

Definition at line 80 of file GeometricDet.h.

References _rho.

Referenced by CmsTrackerLevelBuilder::LessR::operator()().

00080 { return _rho; }

DDRotationMatrix const& GeometricDet::rotation ( void   )  const [inline]

Access methods.

Definition at line 77 of file GeometricDet.h.

References _rot.

00077 {return _rot;}

GeometricDet::Rotation GeometricDet::rotationBounds (  )  const

rotationBounds() returns the rotation matrix.

Definition at line 261 of file GeometricDet.cc.

References _rot, x, y, and z.

Referenced by PlaneBuilderFromGeometricDet::plane().

00261                                                        {
00262   DD3Vector x, y, z;
00263   _rot.GetComponents(x, y, z);
00264   Rotation _rotation(float(x.X()),float(x.Y()),float(x.Z()),
00265                      float(y.X()),float(y.Y()),float(y.Z()),
00266                      float(z.X()),float(z.Y()),float(z.Z())); 
00267   return _rotation;
00268 }

void GeometricDet::setComponents ( GeometricDetContainer const &  cont  )  [inline]

Definition at line 58 of file GeometricDet.h.

References _container.

00058 {_container = cont;}

void GeometricDet::setGeographicalID ( DetId  id  )  const [inline]

set or add or clear components

Definition at line 57 of file GeometricDet.h.

References _geographicalID.

Referenced by CmsTrackerDetIdBuilder::buildId(), and CmsDetConstruction::buildSmallDets().

00057 {_geographicalID = id;}

DDSolidShape const& GeometricDet::shape (  )  const [inline]

Definition at line 83 of file GeometricDet.h.

References _shape.

Referenced by GeometricDet().

00083 {return _shape;}

double GeometricDet::siliconAPVNum (  )  const [inline]

Definition at line 158 of file GeometricDet.h.

References _siliconAPVNum.

00158 {return _siliconAPVNum;}

bool GeometricDet::stereo (  )  const [inline]

The following two are only meaningful for the silicon tracker.

Definition at line 157 of file GeometricDet.h.

References _stereo.

00157 {return _stereo;}

DDTranslation const& GeometricDet::translation ( void   )  const [inline]

Definition at line 78 of file GeometricDet.h.

References _trans.

Referenced by CmsTrackerLevelBuilder::LessModZ::operator()(), CmsTrackerLevelBuilder::LessZ::operator()(), CmsTrackerRingBuilder::sortNS(), and CmsTrackerWheelBuilder::sortNS().

00078 {return _trans;}

GeometricEnumType GeometricDet::type (  )  const [inline]

Definition at line 84 of file GeometricDet.h.

References _type.

Referenced by CmsTrackerLevelBuilder::subDetByType::operator()().

00084 {return _type;}

double GeometricDet::volume (  )  const [inline]

Definition at line 140 of file GeometricDet.h.

References _volume.

Referenced by GeometricDet().

00140 {return _volume;}

bool GeometricDet::wasBuiltFromDD (  )  const [inline]

what it says.

.. used the DD in memory model to build the geometry... or not.

Definition at line 163 of file GeometricDet.h.

References _fromDD.

00163 {return _fromDD;}

double GeometricDet::weight (  )  const [inline]

Definition at line 142 of file GeometricDet.h.

References _weight.

00142 {return _weight;}

double GeometricDet::xi (  )  const [inline]

Definition at line 145 of file GeometricDet.h.

References _xi.

Referenced by TrackerGeomBuilderFromGeometricDet::buildPlaneWithMaterial().

00145 {return _xi;}


Member Data Documentation

GeometricDetContainer GeometricDet::_container [private]

Definition at line 167 of file GeometricDet.h.

Referenced by addComponent(), addComponents(), clearComponents(), components(), deepComponents(), deleteComponents(), isLeaf(), and setComponents().

int GeometricDet::_copy [private]

Definition at line 184 of file GeometricDet.h.

Referenced by copyno(), and GeometricDet().

nav_type GeometricDet::_ddd [private]

Definition at line 173 of file GeometricDet.h.

Referenced by GeometricDet(), and navType().

DDName GeometricDet::_ddname [private]

Definition at line 174 of file GeometricDet.h.

Referenced by GeometricDet(), and name().

double GeometricDet::_density [private]

Definition at line 182 of file GeometricDet.h.

Referenced by density(), and GeometricDet().

bool GeometricDet::_fromDD [private]

Definition at line 194 of file GeometricDet.h.

Referenced by GeometricDet(), and wasBuiltFromDD().

DetId GeometricDet::_geographicalID [mutable, private]

Definition at line 178 of file GeometricDet.h.

Referenced by geographicalId(), geographicalID(), GeometricDet(), and setGeographicalID().

std::string GeometricDet::_material [private]

Definition at line 185 of file GeometricDet.h.

Referenced by GeometricDet(), and material().

std::vector<double> GeometricDet::_params [private]

Definition at line 176 of file GeometricDet.h.

Referenced by bounds(), GeometricDet(), and params().

std::vector< DDExpandedNode > GeometricDet::_parents [private]

Definition at line 180 of file GeometricDet.h.

Referenced by GeometricDet(), and parents().

double GeometricDet::_phi [private]

Definition at line 169 of file GeometricDet.h.

Referenced by GeometricDet(), and phi().

double GeometricDet::_pixROCCols [private]

Definition at line 189 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCCols().

double GeometricDet::_pixROCRows [private]

Definition at line 188 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCRows().

double GeometricDet::_pixROCx [private]

Definition at line 190 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCx().

double GeometricDet::_pixROCy [private]

Definition at line 191 of file GeometricDet.h.

Referenced by GeometricDet(), and pixROCy().

double GeometricDet::_radLength [private]

Definition at line 186 of file GeometricDet.h.

Referenced by GeometricDet(), and radLength().

double GeometricDet::_rho [private]

Definition at line 170 of file GeometricDet.h.

Referenced by GeometricDet(), and rho().

DDRotationMatrix GeometricDet::_rot [private]

Definition at line 171 of file GeometricDet.h.

Referenced by GeometricDet(), rotation(), and rotationBounds().

DDSolidShape GeometricDet::_shape [private]

Definition at line 172 of file GeometricDet.h.

Referenced by bounds(), GeometricDet(), and shape().

double GeometricDet::_siliconAPVNum [private]

Definition at line 193 of file GeometricDet.h.

Referenced by GeometricDet(), and siliconAPVNum().

bool GeometricDet::_stereo [private]

Definition at line 192 of file GeometricDet.h.

Referenced by GeometricDet(), and stereo().

DDTranslation GeometricDet::_trans [private]

Definition at line 168 of file GeometricDet.h.

Referenced by GeometricDet(), positionBounds(), and translation().

GeometricEnumType GeometricDet::_type [private]

Definition at line 175 of file GeometricDet.h.

Referenced by type().

double GeometricDet::_volume [private]

Definition at line 181 of file GeometricDet.h.

Referenced by GeometricDet(), and volume().

double GeometricDet::_weight [private]

Definition at line 183 of file GeometricDet.h.

Referenced by GeometricDet(), and weight().

double GeometricDet::_xi [private]

Definition at line 187 of file GeometricDet.h.

Referenced by GeometricDet(), and xi().


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