CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
GeometricDet Class Reference

#include <GeometricDet.h>

Public Types

typedef std::vector
< GeometricDet const * > 
ConstGeometricDetContainer
 
typedef DDExpandedView::nav_type DDnav_type
 
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, PixelPhase1Barrel =101,
  PixelPhase1EndCap =102, PixelPhase1Disk =117, OTPhase2EndCap =204, OTPhase2Barrel =205,
  OTPhase2Layer =208, PixelPhase2EndCap =202, OTPhase2Wheel =209, PixelPhase2FullDisk =217,
  PixelPhase2ReducedDisk =227
}
 
typedef std::vector
< DDExpandedNode
GeoHistory
 
typedef std::vector
< GeometricDet * > 
GeometricDetContainer
 
typedef enum
GeometricDet::GDEnumType 
GeometricEnumType
 
typedef DDExpandedView::nav_type nav_type
 
typedef DDExpandedView::NavRange NavRange
 
typedef Surface::PositionType Position
 
typedef Surface::RotationType Rotation
 

Public Member Functions

void addComponent (GeometricDet *)
 
void addComponents (GeometricDetContainer const &cont)
 
void addComponents (ConstGeometricDetContainer const &cont)
 
std::unique_ptr< Boundsbounds () const
 
void clearComponents ()
 
GeometricDetcomponent (size_t index)
 
ConstGeometricDetContainercomponents ()
 
ConstGeometricDetContainer const & components () const
 
ConstGeometricDetContainer deepComponents () const
 
void deepComponents (ConstGeometricDetContainer &cont) const
 
void deleteComponents ()
 
DetId geographicalID () const
 
DetId geographicalId () const
 
 GeometricDet (DDFilteredView *fv, GeometricEnumType dd)
 
 GeometricDet (const PGeometricDet::Item &onePGD, GeometricEnumType dd)
 
bool isLeaf () const
 
DDName const & name () const
 
NavRange navpos () const
 
NavRange navRange () const
 
nav_type const & navType () const
 
std::vector< double > const & params () const
 
double phi () const
 
double pixROCCols () const
 
double pixROCRows () const
 
double pixROCx () const
 
double pixROCy () const
 
Position positionBounds () const
 
double radLength () const
 
double rho () const
 
DDRotationMatrix const & rotation () const
 
Rotation rotationBounds () const
 
void setGeographicalID (DetId id)
 
DDSolidShape const & shape () const
 
double siliconAPVNum () const
 
bool stereo () const
 
DDTranslation const & translation () const
 
GeometricEnumType type () const
 
double xi () const
 
 ~GeometricDet ()
 

Private Attributes

ConstGeometricDetContainer _container
 
nav_type _ddd
 
DDName _ddname
 
DetId _geographicalID
 
std::vector< double > _params
 
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 _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 30 of file GeometricDet.h.

Member Typedef Documentation

Definition at line 36 of file GeometricDet.h.

Definition at line 33 of file GeometricDet.h.

Definition at line 43 of file GeometricDet.h.

Definition at line 37 of file GeometricDet.h.

Definition at line 44 of file GeometricDet.h.

Definition at line 34 of file GeometricDet.h.

Definition at line 46 of file GeometricDet.h.

Definition at line 47 of file GeometricDet.h.

Member Enumeration Documentation

Enumerator
unknown 
Tracker 
PixelBarrel 
PixelEndCap 
TIB 
TID 
TOB 
TEC 
layer 
wheel 
strng 
rod 
petal 
ring 
ladder 
mergedDet 
DetUnit 
disk 
panel 
PixelPhase1Barrel 
PixelPhase1EndCap 
PixelPhase1Disk 
OTPhase2EndCap 
OTPhase2Barrel 
OTPhase2Layer 
PixelPhase2EndCap 
OTPhase2Wheel 
PixelPhase2FullDisk 
PixelPhase2ReducedDisk 

Definition at line 52 of file GeometricDet.h.

52  {unknown=100, Tracker=0, PixelBarrel=1, PixelEndCap=2,
53  TIB=3, TID=4, TOB=5, TEC=6,
54  layer=8, wheel=9, strng=10, rod=11, petal=12, ring=13,
55  ladder=14, mergedDet=15, DetUnit=16, disk=17, panel=18,
enum GeometricDet::GDEnumType GeometricEnumType

Constructor & Destructor Documentation

GeometricDet::GeometricDet ( DDFilteredView fv,
GeometricEnumType  dd 
)

Constructors to be used when looping over DDD

Definition at line 150 of file GeometricDet.cc.

References _ddd, DDFilteredView::navPos(), and nt.

150  :
151  //
152  // Set by hand the _ddd
153  //
154  _trans(fv->translation()),
155  _phi(_trans.Phi()),
156  _rho(_trans.Rho()),
157  _rot(fv->rotation()),
158  _shape(((fv->logicalPart()).solid()).shape()),
159  _ddname(((fv->logicalPart()).ddname()).name()),
160  _type(type),
161  _params(((fv->logicalPart()).solid()).parameters()),
162  // want this :) _ddd(fv->navPos().begin(),fv->navPos().end()),
163 #ifdef GEOMTRICDETDEBUG
164  _parents(fv->geoHistory().begin(),fv->geoHistory().end()),
165  _volume(((fv->logicalPart()).solid()).volume()),
166  _density(((fv->logicalPart()).material()).density()),
167  // _weight = (fv->logicalPart()).weight();
168  _weight(_density * ( _volume / 1000.)), // volume mm3->cm3
169  _copy(fv->copyno()),
170  _material(((fv->logicalPart()).material()).name().fullname()),
171 #endif
172  _radLength(getDouble("TrackerRadLength",*fv)),
173  _xi(getDouble("TrackerXi",*fv)),
174  _pixROCRows(getDouble("PixelROCRows",*fv)),
175  _pixROCCols(getDouble("PixelROCCols",*fv)),
176  _pixROCx(getDouble("PixelROC_X",*fv)),
177  _pixROCy(getDouble("PixelROC_Y",*fv)),
178  _stereo(getString("TrackerStereoDetectors",*fv)==strue),
179  _siliconAPVNum(getDouble("SiliconAPVNumber",*fv))
180 #ifdef GEOMTRICDETDEBUG
181  ,
182  _fromDD(true)
183 #endif
184 {
185  //std::cout << "GeometricDet3" << std::endl;
186  // workaround instead of this at initialization _ddd(fv->navPos().begin(),fv->navPos().end()),
187  const DDFilteredView::nav_type& nt = fv->navPos();
188  _ddd = nav_type(nt.begin(), nt.end());
189 }
type
Definition: HCALResponse.h:21
double _pixROCCols
Definition: GeometricDet.h:326
dictionary parameters
Definition: Parameters.py:2
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
DDName _ddname
Definition: GeometricDet.h:310
double _pixROCRows
Definition: GeometricDet.h:325
double _pixROCy
Definition: GeometricDet.h:328
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
DDSolidShape const & shape() const
Definition: GeometricDet.h:136
double _siliconAPVNum
Definition: GeometricDet.h:330
DDTranslation _trans
Definition: GeometricDet.h:304
nav_type navPos() const
return the stack of sibling numbers
GeometricEnumType _type
Definition: GeometricDet.h:311
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
double _pixROCx
Definition: GeometricDet.h:327
nav_type _ddd
Definition: GeometricDet.h:309
int copyno() const
Copy number associated with the current node.
DDName const & name() const
Definition: GeometricDet.h:144
const std::string fullname() const
Definition: DDName.h:56
std::vector< double > _params
Definition: GeometricDet.h:312
int nt
Definition: AMPTWrapper.h:32
DDSolidShape _shape
Definition: GeometricDet.h:308
double _radLength
Definition: GeometricDet.h:323
DDExpandedView::nav_type nav_type
DDRotationMatrix _rot
Definition: GeometricDet.h:307
DDExpandedView::nav_type nav_type
Definition: GeometricDet.h:44
const DDTranslation & translation() const
The absolute translation of the current node.
GeometricDet::GeometricDet ( const PGeometricDet::Item onePGD,
GeometricEnumType  dd 
)

Definition at line 193 of file GeometricDet.cc.

References _ddd, PGeometricDet::Item::_nt0, PGeometricDet::Item::_nt1, PGeometricDet::Item::_nt10, PGeometricDet::Item::_nt2, PGeometricDet::Item::_nt3, PGeometricDet::Item::_nt4, PGeometricDet::Item::_nt5, PGeometricDet::Item::_nt6, PGeometricDet::Item::_nt7, PGeometricDet::Item::_nt8, PGeometricDet::Item::_nt9, PGeometricDet::Item::_numnt, PGeometricDet::Item::_params0, PGeometricDet::Item::_params1, PGeometricDet::Item::_params10, PGeometricDet::Item::_params2, PGeometricDet::Item::_params3, PGeometricDet::Item::_params4, PGeometricDet::Item::_params5, PGeometricDet::Item::_params6, PGeometricDet::Item::_params7, PGeometricDet::Item::_params8, PGeometricDet::Item::_params9, and PGeometricDet::Item::_shape.

193  :
194  _trans(onePGD._x, onePGD._y, onePGD._z),
195  _phi(onePGD._phi), //_trans.Phi()),
196  _rho(onePGD._rho), //_trans.Rho()),
197  _rot(onePGD._a11, onePGD._a12, onePGD._a13,
198  onePGD._a21, onePGD._a22, onePGD._a23,
199  onePGD._a31, onePGD._a32, onePGD._a33),
201  _ddd(),
202  _ddname(onePGD._name, onePGD._ns),//, "fromdb");
203  _type(type),
204  _params(),
206 #ifdef GEOMTRICDETDEBUG
207  _parents(), // will remain empty... hate wasting the space but want all methods to work.
208  _volume(onePGD._volume),
209  _density(onePGD._density),
210  _weight(onePGD._weight),
211  _copy(onePGD._copy),
212  _material(onePGD._material),
213 #endif
214  _radLength(onePGD._radLength),
215  _xi(onePGD._xi),
216  _pixROCRows(onePGD._pixROCRows),
217  _pixROCCols(onePGD._pixROCCols),
218  _pixROCx(onePGD._pixROCx),
219  _pixROCy(onePGD._pixROCy),
220  _stereo(onePGD._stereo),
222 #ifdef GEOMTRICDETDEBUG
223  , // mind the tricky comma is needed.
224  _fromDD(false)
225 #endif
226 {
227  //std::cout << "GeometricDet4" << std::endl;
228 
229  if(onePGD._shape==1||onePGD._shape==3){ //The parms vector is neede only in the case of box or trap shape
230  _params.reserve(11);
231  _params.push_back(onePGD._params0);
232  _params.push_back(onePGD._params1);
233  _params.push_back(onePGD._params2);
234  _params.push_back(onePGD._params3);
235  _params.push_back(onePGD._params4);
236  _params.push_back(onePGD._params5);
237  _params.push_back(onePGD._params6);
238  _params.push_back(onePGD._params7);
239  _params.push_back(onePGD._params8);
240  _params.push_back(onePGD._params9);
241  _params.push_back(onePGD._params10);
242  }
243 
244  _ddd.reserve(onePGD._numnt);
245  _ddd.push_back(onePGD._nt0);
246  _ddd.push_back(onePGD._nt1);
247  _ddd.push_back(onePGD._nt2);
248  _ddd.push_back(onePGD._nt3);
249  if ( onePGD._numnt > 4 ) {
250  _ddd.push_back(onePGD._nt4);
251  if ( onePGD._numnt > 5 ) {
252  _ddd.push_back(onePGD._nt5);
253  if ( onePGD._numnt > 6 ) {
254  _ddd.push_back(onePGD._nt6);
255  if ( onePGD._numnt > 7 ) {
256  _ddd.push_back(onePGD._nt7);
257  if ( onePGD._numnt > 8 ) {
258  _ddd.push_back(onePGD._nt8);
259  if ( onePGD._numnt > 9 ) {
260  _ddd.push_back(onePGD._nt9);
261  if ( onePGD._numnt > 10 ) {
262  _ddd.push_back(onePGD._nt10);
263  }}}}}}
264  }
265 
266 }
type
Definition: HCALResponse.h:21
double _pixROCCols
Definition: GeometricDet.h:326
DDName _ddname
Definition: GeometricDet.h:310
double _pixROCRows
Definition: GeometricDet.h:325
double _pixROCy
Definition: GeometricDet.h:328
double _siliconAPVNum
Definition: GeometricDet.h:330
DDTranslation _trans
Definition: GeometricDet.h:304
GeometricEnumType _type
Definition: GeometricDet.h:311
double _pixROCx
Definition: GeometricDet.h:327
nav_type _ddd
Definition: GeometricDet.h:309
std::vector< double > _params
Definition: GeometricDet.h:312
static DDSolidShape index(const int &ind)
Definition: DDSolidShapes.h:39
DetId _geographicalID
Definition: GeometricDet.h:314
DDSolidShape _shape
Definition: GeometricDet.h:308
double _radLength
Definition: GeometricDet.h:323
DDRotationMatrix _rot
Definition: GeometricDet.h:307
GeometricDet::~GeometricDet ( )

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

Definition at line 76 of file GeometricDet.cc.

References deleteComponents().

76  {
77  //std::cout << "~GeometricDet5" << std::endl;
79 }
void deleteComponents()

Member Function Documentation

void GeometricDet::addComponent ( GeometricDet det)
void GeometricDet::addComponents ( GeometricDetContainer const &  cont)

Definition at line 290 of file GeometricDet.cc.

References _container, and filterCSVwithJSON::copy.

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

290  {
291  //std::cout << "addComponents" << std::endl;
292  _container.reserve(_container.size()+cont.size());
293  std::copy(cont.begin(), cont.end(), back_inserter(_container));
294 }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
tuple cont
load Luminosity info ##
Definition: generateEDF.py:622
void GeometricDet::addComponents ( ConstGeometricDetContainer const &  cont)

Definition at line 296 of file GeometricDet.cc.

References _container, and filterCSVwithJSON::copy.

296  {
297  //std::cout << "addComponents" << std::endl;
298  _container.reserve(_container.size()+cont.size());
299  std::copy(cont.begin(), cont.end(), back_inserter(_container));
300 }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
tuple cont
load Luminosity info ##
Definition: generateEDF.py:622
std::unique_ptr< Bounds > GeometricDet::bounds ( ) const

bounds() returns the Bounds.

Definition at line 338 of file GeometricDet.cc.

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

Referenced by PlaneBuilderFromGeometricDet::plane().

338  {
339  //std::cout << "bounds" << std::endl;
340  const std::vector<double>& par = _params;
341  TrackerShapeToBounds shapeToBounds;
342  return std::unique_ptr<Bounds>(shapeToBounds.buildBounds(_shape,par));
343 }
Bounds * buildBounds(const DDSolidShape &, const std::vector< double > &) const
std::vector< double > _params
Definition: GeometricDet.h:312
DDSolidShape _shape
Definition: GeometricDet.h:308
void GeometricDet::clearComponents ( )
inline

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

Definition at line 96 of file GeometricDet.h.

References _container.

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

96  {
97  _container.clear();
98  //std::cout<<"clearComponents"<<std::endl;
99  }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
GeometricDet* GeometricDet::component ( size_t  index)
inline
ConstGeometricDetContainer& 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 174 of file GeometricDet.h.

References _container.

Referenced by GeometricDetLoader::beginJob(), PGeometricDetBuilder::beginRun(), TrackerGeomBuilderFromGeometricDet::build(), TIDRingBuilder::build(), PixelRodBuilder::build(), TECLayerBuilder::build(), TECPetalBuilder::build(), TECWedgeBuilder::build(), TIBLayerBuilder::build(), TIDLayerBuilder::build(), TOBLayerBuilder::build(), TOBRodBuilder::build(), Phase2OTBarrelLayerBuilder::build(), Phase2OTBarrelRodBuilder::build(), Phase2OTECRingBuilder::build(), Phase2OTECRingedLayerBuilder::build(), PixelBarrelLayerBuilder::build(), GeometricSearchTrackerBuilder::build(), PixelBladeBuilder< T >::build(), PixelForwardLayerBuilder< T1, T2 >::build(), CmsTrackerDebugNavigator::iterate(), CmsTrackerDetIdBuilder::iterate(), CmsTrackerLevelBuilder::ExtractPhiModule::operator()(), TrackerGeometricDetExtraESModule::produce(), CmsTrackerRingBuilder::sortNS(), CmsTrackerRodBuilder::sortNS(), CmsTrackerStringBuilder::sortNS(), CmsTrackerLayerBuilder::sortNS(), CmsTrackerOTRingBuilder::sortNS(), CmsTrackerPanelBuilder::sortNS(), CmsTrackerPetalBuilder::sortNS(), CmsTrackerLadderBuilder::sortNS(), CmsTrackerWheelBuilder::sortNS(), CmsTrackerDiskBuilder::sortNS(), CmsTrackerOTDiscBuilder::sortNS(), CmsTrackerPhase1DiskBuilder::sortNS(), CmsTrackerPixelPhase1EndcapBuilder::sortNS(), CmsTrackerPixelPhase2EndcapBuilder::sortNS(), CmsTrackerSubStrctBuilder::sortNS(), CmsTrackerBuilder::sortNS(), and TrackerGeometry::TrackerGeometry().

174  {
175  //std::cout << "components1" <<std::endl;
176  return _container;
177  }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
ConstGeometricDetContainer const& GeometricDet::components ( ) const
inline

Definition at line 178 of file GeometricDet.h.

References _container.

178  {
179  //std::cout<<"const components2 "<<std::endl;
180  return _container;
181  }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
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 268 of file GeometricDet.cc.

Referenced by GeometricDetLoader::beginJob(), PGeometricDetBuilder::beginRun(), TrackerGeomBuilderFromGeometricDet::build(), TouchableToHistory::buildAll(), TrackerMapDDDtoID::buildAllStep2(), CmsTrackerLevelBuilder::ExtractPhiGluedModule::operator()(), CmsTrackerLevelBuilder::LessR_module::operator()(), and TrackerGeometricDetExtraESModule::produce().

268  {
269  //
270  // iterate on all the components ;)
271  //
272  //std::cout << "deepComponents1" << std::endl;
274  deepComponents(_temp);
275  return _temp;
276 }
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:36
ConstGeometricDetContainer deepComponents() const
void GeometricDet::deepComponents ( ConstGeometricDetContainer cont) const

Definition at line 278 of file GeometricDet.cc.

References _container, and isLeaf().

278  {
279  //std::cout << "const deepComponents2" << std::endl;
280  if (isLeaf())
281  cont.push_back(this);
282  else
283  std::for_each(_container.begin(),_container.end(),
284  [&](const GeometricDet* iDet) {
285  iDet->deepComponents(cont);
286  }
287  );
288 }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
tuple cont
load Luminosity info ##
Definition: generateEDF.py:622
bool isLeaf() const
Definition: GeometricDet.h:107
void GeometricDet::deleteComponents ( )

deleteComponents() explicitly deletes the daughters

Definition at line 313 of file GeometricDet.cc.

References _container.

Referenced by ~GeometricDet().

313  {
314  //std::cout << "deleteComponents" << std::endl;
315  std::for_each(_container.begin(),_container.end(),Deleter());
316  _container.clear();
317 }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
DetId GeometricDet::geographicalID ( ) const
inline

geometricalID() returns the ID associated to the GeometricDet.

Definition at line 206 of file GeometricDet.h.

References _geographicalID.

Referenced by CmsTrackerDetIdBuilder::buildId(), CmsTrackerDetIdBuilder::iterate(), PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

206  {
207  //std::cout<<"geographicalID"<<std::endl;
208  return _geographicalID;
209  }
DetId _geographicalID
Definition: GeometricDet.h:314
DetId GeometricDet::geographicalId ( ) const
inline

Definition at line 210 of file GeometricDet.h.

References _geographicalID.

Referenced by TrackerGeometricDetExtraESModule::putOne().

210  {
211  //std::cout<<"geographicalId"<<std::endl;
212  return _geographicalID;
213  }
DetId _geographicalID
Definition: GeometricDet.h:314
bool GeometricDet::isLeaf ( ) const
inline

Definition at line 107 of file GeometricDet.h.

References _container.

Referenced by deepComponents().

107  {
108  //std::cout <<"isLeaf() ==" <<_container.empty()<<std::endl;
109  return _container.empty();
110  }
ConstGeometricDetContainer _container
Definition: GeometricDet.h:303
DDName const& GeometricDet::name ( void  ) const
inline
NavRange GeometricDet::navpos ( ) const
inline

Definition at line 159 of file GeometricDet.h.

References _ddd.

159  {
160  //std::cout<<"navpos"<<std::endl;
161  return NavRange(&_ddd.front(),_ddd.size());
162  }
nav_type _ddd
Definition: GeometricDet.h:309
DDExpandedView::NavRange NavRange
Definition: GeometricDet.h:34
NavRange GeometricDet::navRange ( ) const
inline

Definition at line 154 of file GeometricDet.h.

References _ddd.

154  {
155  //std::cout<<"navRange"<<std::endl;
156  return NavRange(&_ddd.front(),_ddd.size());
157  }
nav_type _ddd
Definition: GeometricDet.h:309
DDExpandedView::NavRange NavRange
Definition: GeometricDet.h:34
nav_type const& GeometricDet::navType ( ) const
inline

Definition at line 149 of file GeometricDet.h.

References _ddd.

Referenced by TrackerGeometricDetExtraESModule::produce(), and PGeometricDetBuilder::putOne().

149  {
150  //std::cout<<"navType"<<std::endl;
151  return _ddd;
152  }
nav_type _ddd
Definition: GeometricDet.h:309
std::vector<double> const& GeometricDet::params ( ) const
inline

Definition at line 163 of file GeometricDet.h.

References _params.

Referenced by PGeometricDetBuilder::putOne(), GeometricDetLoader::putOne(), and CmsTrackerLayerBuilder::sortNS().

163  {
164  //std::cout<<"params"<<std::endl;
165  return _params;
166  }
std::vector< double > _params
Definition: GeometricDet.h:312
double GeometricDet::phi ( void  ) const
inline
double GeometricDet::pixROCCols ( ) const
inline

Definition at line 266 of file GeometricDet.h.

References _pixROCCols.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

266  {
267  //std::cout<<"pixROCCols"<<std::endl;
268  return _pixROCCols;
269  }
double _pixROCCols
Definition: GeometricDet.h:326
double GeometricDet::pixROCRows ( ) const
inline

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

Definition at line 262 of file GeometricDet.h.

References _pixROCRows.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

262  {
263  //std::cout<<"pixROCRows"<<std::endl;
264  return _pixROCRows;
265  }
double _pixROCRows
Definition: GeometricDet.h:325
double GeometricDet::pixROCx ( ) const
inline

Definition at line 270 of file GeometricDet.h.

References _pixROCx.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

270  {
271  //std::cout<<"pixROCx"<<std::endl;
272  return _pixROCx;
273  }
double _pixROCx
Definition: GeometricDet.h:327
double GeometricDet::pixROCy ( ) const
inline

Definition at line 274 of file GeometricDet.h.

References _pixROCy.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

274  {
275  //std::cout<<"pixROCy"<<std::endl;
276  return _pixROCy;
277  }
double _pixROCy
Definition: GeometricDet.h:328
GeometricDet::Position GeometricDet::positionBounds ( ) const

positionBounds() returns the position in cm.

Definition at line 320 of file GeometricDet.cc.

References _trans.

Referenced by PlaneBuilderFromGeometricDet::plane().

320  {
321  //std::cout << "positionBounds" << std::endl;
322  Position _pos(float(_trans.x()/cm),
323  float(_trans.y()/cm),
324  float(_trans.z()/cm));
325  return _pos;
326 }
DDTranslation _trans
Definition: GeometricDet.h:304
Surface::PositionType Position
Definition: GeometricDet.h:46
double GeometricDet::radLength ( ) const
inline

Definition at line 251 of file GeometricDet.h.

References _radLength.

Referenced by TrackerGeomBuilderFromGeometricDet::buildPlaneWithMaterial(), GeometricDetLoader::putOne(), and PGeometricDetBuilder::putOne().

251  {
252  //std::cout<<"radLength"<<std::endl;
253  return _radLength;
254  }
double _radLength
Definition: GeometricDet.h:323
double GeometricDet::rho ( ) const
inline

Definition at line 131 of file GeometricDet.h.

References _rho.

Referenced by Lepton.Lepton::absIsoFromEA(), CmsTrackerLevelBuilder::LessR::operator()(), PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

131  {
132  //std::cout << "rho" <<std::endl;
133  return _rho;
134  }
DDRotationMatrix const& GeometricDet::rotation ( void  ) const
inline

Access methods

Definition at line 119 of file GeometricDet.h.

References _rot.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

119  {
120  //std::cout<<"rotation" <<std::endl;
121  return _rot;
122  }
DDRotationMatrix _rot
Definition: GeometricDet.h:307
GeometricDet::Rotation GeometricDet::rotationBounds ( ) const

rotationBounds() returns the rotation matrix.

Definition at line 328 of file GeometricDet.cc.

References _rot, x, detailsBasic3DVector::y, and detailsBasic3DVector::z.

Referenced by PlaneBuilderFromGeometricDet::plane().

328  {
329  //std::cout << "rotationBounds" << std::endl;
330  DD3Vector x, y, z;
331  _rot.GetComponents(x, y, z);
332  Rotation _rotation(float(x.X()),float(x.Y()),float(x.Z()),
333  float(y.X()),float(y.Y()),float(y.Z()),
334  float(z.X()),float(z.Y()),float(z.Z()));
335  return _rotation;
336 }
Surface::RotationType Rotation
Definition: GeometricDet.h:47
float float float z
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
A DD Translation is currently implemented with Root Vector3D.
Definition: DDTranslation.h:6
DDRotationMatrix _rot
Definition: GeometricDet.h:307
Definition: DDAxes.h:10
void GeometricDet::setGeographicalID ( DetId  id)
inline
DDSolidShape const& GeometricDet::shape ( void  ) const
inline

Definition at line 136 of file GeometricDet.h.

References _shape.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

136  {
137  //std::cout<<"shape"<<std::endl;
138  return _shape;
139  }
DDSolidShape _shape
Definition: GeometricDet.h:308
double GeometricDet::siliconAPVNum ( ) const
inline

Definition at line 286 of file GeometricDet.h.

References _siliconAPVNum.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

286  {
287  //std::cout<<"siliconAPVNum"<<std::endl;
288  return _siliconAPVNum;
289  }
double _siliconAPVNum
Definition: GeometricDet.h:330
bool GeometricDet::stereo ( ) const
inline

The following two are only meaningful for the silicon tracker.

Definition at line 282 of file GeometricDet.h.

References _stereo.

Referenced by PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

282  {
283  //std::cout<<"stereo"<<std::endl;
284  return _stereo;
285  }
DDTranslation const& GeometricDet::translation ( void  ) const
inline
GeometricEnumType GeometricDet::type ( ) const
inline

Definition at line 140 of file GeometricDet.h.

References _type.

Referenced by cuy.ValElement::__init__(), CmsTrackerLevelBuilder::build(), CmsTrackerLevelBuilder::subDetByType::operator()(), PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

140  {
141  //std::cout<<"type"<<std::endl;
142  return _type;
143  }
GeometricEnumType _type
Definition: GeometricDet.h:311
double GeometricDet::xi ( ) const
inline

Definition at line 255 of file GeometricDet.h.

References _xi.

Referenced by TrackerGeomBuilderFromGeometricDet::buildPlaneWithMaterial(), GeometricDetLoader::putOne(), and PGeometricDetBuilder::putOne().

255  {
256  //std::cout<<"xi - chi"<<std::endl;
257  return _xi;
258  }

Member Data Documentation

ConstGeometricDetContainer GeometricDet::_container
private

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

Definition at line 303 of file GeometricDet.h.

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

nav_type GeometricDet::_ddd
private

Definition at line 309 of file GeometricDet.h.

Referenced by GeometricDet(), navpos(), navRange(), and navType().

DDName GeometricDet::_ddname
private

Definition at line 310 of file GeometricDet.h.

Referenced by name().

DetId GeometricDet::_geographicalID
private

Definition at line 314 of file GeometricDet.h.

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

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

Definition at line 312 of file GeometricDet.h.

Referenced by bounds(), and params().

double GeometricDet::_phi
private

Definition at line 305 of file GeometricDet.h.

Referenced by phi().

double GeometricDet::_pixROCCols
private

Definition at line 326 of file GeometricDet.h.

Referenced by pixROCCols().

double GeometricDet::_pixROCRows
private

Definition at line 325 of file GeometricDet.h.

Referenced by pixROCRows().

double GeometricDet::_pixROCx
private

Definition at line 327 of file GeometricDet.h.

Referenced by pixROCx().

double GeometricDet::_pixROCy
private

Definition at line 328 of file GeometricDet.h.

Referenced by pixROCy().

double GeometricDet::_radLength
private

Definition at line 323 of file GeometricDet.h.

Referenced by radLength().

double GeometricDet::_rho
private

Definition at line 306 of file GeometricDet.h.

Referenced by rho().

DDRotationMatrix GeometricDet::_rot
private

Definition at line 307 of file GeometricDet.h.

Referenced by rotation(), and rotationBounds().

DDSolidShape GeometricDet::_shape
private

Definition at line 308 of file GeometricDet.h.

Referenced by bounds(), and shape().

double GeometricDet::_siliconAPVNum
private

Definition at line 330 of file GeometricDet.h.

Referenced by siliconAPVNum().

bool GeometricDet::_stereo
private

Definition at line 329 of file GeometricDet.h.

Referenced by stereo().

DDTranslation GeometricDet::_trans
private

Definition at line 304 of file GeometricDet.h.

Referenced by positionBounds(), and translation().

GeometricEnumType GeometricDet::_type
private

Definition at line 311 of file GeometricDet.h.

Referenced by type().

double GeometricDet::_xi
private

Definition at line 324 of file GeometricDet.h.

Referenced by xi().