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
}
 
typedef std::vector
< DDExpandedNode
GeoHistory
 
typedef std::vector
< GeometricDet const * > 
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)
 
const Boundsbounds () const
 
void clearComponents ()
 
GeometricDetContainercomponents ()
 
GeometricDetContainer const & components () const
 
ConstGeometricDetContainer deepComponents () const
 
void deepComponents (GeometricDetContainer &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) const
 
DDSolidShape const & shape () const
 
double siliconAPVNum () const
 
bool stereo () const
 
DDTranslation const & translation () const
 
GeometricEnumType type () const
 
double xi () const
 
 ~GeometricDet ()
 

Private Attributes

GeometricDetContainer _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 29 of file GeometricDet.h.

Member Typedef Documentation

Definition at line 35 of file GeometricDet.h.

Definition at line 32 of file GeometricDet.h.

Definition at line 42 of file GeometricDet.h.

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

Definition at line 36 of file GeometricDet.h.

Definition at line 43 of file GeometricDet.h.

Definition at line 33 of file GeometricDet.h.

Definition at line 45 of file GeometricDet.h.

Definition at line 46 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 

Definition at line 51 of file GeometricDet.h.

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:22
double _pixROCCols
Definition: GeometricDet.h:315
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:299
double _pixROCRows
Definition: GeometricDet.h:314
double _pixROCy
Definition: GeometricDet.h:317
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
DDSolidShape const & shape() const
Definition: GeometricDet.h:125
double _siliconAPVNum
Definition: GeometricDet.h:319
DDTranslation _trans
Definition: GeometricDet.h:293
nav_type navPos() const
return the stack of sibling numbers
GeometricEnumType _type
Definition: GeometricDet.h:300
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
double _pixROCx
Definition: GeometricDet.h:316
nav_type _ddd
Definition: GeometricDet.h:298
int copyno() const
Copy number associated with the current node.
DDName const & name() const
Definition: GeometricDet.h:133
const std::string fullname() const
Definition: DDName.h:56
std::vector< double > _params
Definition: GeometricDet.h:301
int nt
Definition: AMPTWrapper.h:32
DDSolidShape _shape
Definition: GeometricDet.h:297
double _radLength
Definition: GeometricDet.h:312
DDExpandedView::nav_type nav_type
DDRotationMatrix _rot
Definition: GeometricDet.h:296
DDExpandedView::nav_type nav_type
Definition: GeometricDet.h:43
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:22
double _pixROCCols
Definition: GeometricDet.h:315
DDName _ddname
Definition: GeometricDet.h:299
double _pixROCRows
Definition: GeometricDet.h:314
static const DDSolidShape index(const int &ind)
Definition: DDSolidShapes.h:38
double _pixROCy
Definition: GeometricDet.h:317
double _siliconAPVNum
Definition: GeometricDet.h:319
DDTranslation _trans
Definition: GeometricDet.h:293
GeometricEnumType _type
Definition: GeometricDet.h:300
double _pixROCx
Definition: GeometricDet.h:316
nav_type _ddd
Definition: GeometricDet.h:298
std::vector< double > _params
Definition: GeometricDet.h:301
DetId _geographicalID
Definition: GeometricDet.h:303
DDSolidShape _shape
Definition: GeometricDet.h:297
double _radLength
Definition: GeometricDet.h:312
DDRotationMatrix _rot
Definition: GeometricDet.h:296
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 289 of file GeometricDet.cc.

References _container, cont, and filterCSVwithJSON::copy.

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

289  {
290  //std::cout << "addComponents" << std::endl;
291  if (_container.empty()) {
293  return;
294  }
295  _container.reserve(_container.size()+cont.size());
296  std::copy(cont.begin(), cont.end(), back_inserter(_container));
297 }
int cont
GeometricDetContainer _container
Definition: GeometricDet.h:292
const Bounds * GeometricDet::bounds ( ) const

bounds() returns the Bounds.

Definition at line 336 of file GeometricDet.cc.

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

Referenced by PlaneBuilderFromGeometricDet::plane().

336  {
337  //std::cout << "bounds" << std::endl;
338  const std::vector<double>& par = _params;
339  Bounds * bounds = 0;
340  TrackerShapeToBounds shapeToBounds;
341  bounds = shapeToBounds.buildBounds(_shape,par);
342  return bounds;
343 }
const Bounds * bounds() const
Bounds * buildBounds(const DDSolidShape &, const std::vector< double > &) const
std::vector< double > _params
Definition: GeometricDet.h:301
DDSolidShape _shape
Definition: GeometricDet.h:297
Definition: Bounds.h:18
const double par[8 *NPar][4]
void GeometricDet::clearComponents ( )
inline

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

Definition at line 89 of file GeometricDet.h.

References _container.

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

89  {
90  _container.clear();
91  //std::cout<<"clearComponents"<<std::endl;
92  }
GeometricDetContainer _container
Definition: GeometricDet.h:292
GeometricDetContainer& GeometricDet::components ( )
inline
GeometricDetContainer const& GeometricDet::components ( ) const
inline

Definition at line 167 of file GeometricDet.h.

References _container.

167  {
168  //std::cout<<"const components2 "<<std::endl;
169  return _container;
170  }
GeometricDetContainer _container
Definition: GeometricDet.h:292
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(), deepComponents(), 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:35
ConstGeometricDetContainer deepComponents() const
void GeometricDet::deepComponents ( GeometricDetContainer cont) const

Definition at line 278 of file GeometricDet.cc.

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

278  {
279  //std::cout << "const deepComponents2" << std::endl;
280  if (isLeaf())
281  cont.push_back(const_cast<GeometricDet*>(this));
282  else
283  std::for_each(_container.begin(),_container.end(),
284  boost::bind(&GeometricDet::deepComponents,_1,boost::ref(cont))
285  );
286 }
bool isLeaf() const
Definition: GeometricDet.h:100
int cont
ConstGeometricDetContainer deepComponents() const
GeometricDetContainer _container
Definition: GeometricDet.h:292
void GeometricDet::deleteComponents ( )

deleteComponents() explicitly deletes the daughters

Definition at line 311 of file GeometricDet.cc.

References _container.

Referenced by ~GeometricDet().

311  {
312  //std::cout << "deleteComponents" << std::endl;
313  std::for_each(_container.begin(),_container.end(),Deleter());
314  _container.clear();
315 }
GeometricDetContainer _container
Definition: GeometricDet.h:292
DetId GeometricDet::geographicalID ( ) const
inline

geometricalID() returns the ID associated to the GeometricDet.

Definition at line 195 of file GeometricDet.h.

References _geographicalID.

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

195  {
196  //std::cout<<"geographicalID"<<std::endl;
197  return _geographicalID;
198  }
DetId _geographicalID
Definition: GeometricDet.h:303
DetId GeometricDet::geographicalId ( ) const
inline

Definition at line 199 of file GeometricDet.h.

References _geographicalID.

Referenced by TrackerGeometricDetExtraESModule::putOne().

199  {
200  //std::cout<<"geographicalId"<<std::endl;
201  return _geographicalID;
202  }
DetId _geographicalID
Definition: GeometricDet.h:303
bool GeometricDet::isLeaf ( ) const
inline

Definition at line 100 of file GeometricDet.h.

References _container.

Referenced by deepComponents().

100  {
101  //std::cout <<"isLeaf() ==" <<_container.empty()<<std::endl;
102  return _container.empty();
103  }
GeometricDetContainer _container
Definition: GeometricDet.h:292
DDName const& GeometricDet::name ( void  ) const
inline

Definition at line 133 of file GeometricDet.h.

References _ddname.

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

133  {
134  //std::cout<<"name"<<std::endl;
135  return _ddname;
136  }
DDName _ddname
Definition: GeometricDet.h:299
NavRange GeometricDet::navpos ( ) const
inline

Definition at line 148 of file GeometricDet.h.

References _ddd.

148  {
149  //std::cout<<"navpos"<<std::endl;
150  return NavRange(&_ddd.front(),_ddd.size());
151  }
nav_type _ddd
Definition: GeometricDet.h:298
DDExpandedView::NavRange NavRange
Definition: GeometricDet.h:33
NavRange GeometricDet::navRange ( ) const
inline

Definition at line 143 of file GeometricDet.h.

References _ddd.

143  {
144  //std::cout<<"navRange"<<std::endl;
145  return NavRange(&_ddd.front(),_ddd.size());
146  }
nav_type _ddd
Definition: GeometricDet.h:298
DDExpandedView::NavRange NavRange
Definition: GeometricDet.h:33
nav_type const& GeometricDet::navType ( ) const
inline

Definition at line 138 of file GeometricDet.h.

References _ddd.

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

138  {
139  //std::cout<<"navType"<<std::endl;
140  return _ddd;
141  }
nav_type _ddd
Definition: GeometricDet.h:298
std::vector<double> const& GeometricDet::params ( ) const
inline

Definition at line 152 of file GeometricDet.h.

References _params.

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

152  {
153  //std::cout<<"params"<<std::endl;
154  return _params;
155  }
std::vector< double > _params
Definition: GeometricDet.h:301
double GeometricDet::phi ( void  ) const
inline

Definition at line 116 of file GeometricDet.h.

References _phi.

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

116  {
117  //std::cout<<"phi"<<std::endl;
118  return _phi;
119  }
double GeometricDet::pixROCCols ( ) const
inline

Definition at line 255 of file GeometricDet.h.

References _pixROCCols.

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

255  {
256  //std::cout<<"pixROCCols"<<std::endl;
257  return _pixROCCols;
258  }
double _pixROCCols
Definition: GeometricDet.h:315
double GeometricDet::pixROCRows ( ) const
inline

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

Definition at line 251 of file GeometricDet.h.

References _pixROCRows.

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

251  {
252  //std::cout<<"pixROCRows"<<std::endl;
253  return _pixROCRows;
254  }
double _pixROCRows
Definition: GeometricDet.h:314
double GeometricDet::pixROCx ( ) const
inline

Definition at line 259 of file GeometricDet.h.

References _pixROCx.

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

259  {
260  //std::cout<<"pixROCx"<<std::endl;
261  return _pixROCx;
262  }
double _pixROCx
Definition: GeometricDet.h:316
double GeometricDet::pixROCy ( ) const
inline

Definition at line 263 of file GeometricDet.h.

References _pixROCy.

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

263  {
264  //std::cout<<"pixROCy"<<std::endl;
265  return _pixROCy;
266  }
double _pixROCy
Definition: GeometricDet.h:317
GeometricDet::Position GeometricDet::positionBounds ( ) const

positionBounds() returns the position in cm.

Definition at line 318 of file GeometricDet.cc.

References _trans.

Referenced by PlaneBuilderFromGeometricDet::plane().

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

Definition at line 240 of file GeometricDet.h.

References _radLength.

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

240  {
241  //std::cout<<"radLength"<<std::endl;
242  return _radLength;
243  }
double _radLength
Definition: GeometricDet.h:312
double GeometricDet::rho ( ) const
inline

Definition at line 120 of file GeometricDet.h.

References _rho.

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

120  {
121  //std::cout << "rho" <<std::endl;
122  return _rho;
123  }
DDRotationMatrix const& GeometricDet::rotation ( void  ) const
inline

Access methods

Definition at line 108 of file GeometricDet.h.

References _rot.

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

108  {
109  //std::cout<<"rotation" <<std::endl;
110  return _rot;
111  }
DDRotationMatrix _rot
Definition: GeometricDet.h:296
GeometricDet::Rotation GeometricDet::rotationBounds ( ) const

rotationBounds() returns the rotation matrix.

Definition at line 326 of file GeometricDet.cc.

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

Referenced by PlaneBuilderFromGeometricDet::plane().

326  {
327  //std::cout << "rotationBounds" << std::endl;
328  DD3Vector x, y, z;
329  _rot.GetComponents(x, y, z);
330  Rotation _rotation(float(x.X()),float(x.Y()),float(x.Z()),
331  float(y.X()),float(y.Y()),float(y.Z()),
332  float(z.X()),float(z.Y()),float(z.Z()));
333  return _rotation;
334 }
Surface::RotationType Rotation
Definition: GeometricDet.h:46
double double double 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:296
Definition: DDAxes.h:10
void GeometricDet::setGeographicalID ( DetId  id) const
inline

set or add or clear components

Definition at line 74 of file GeometricDet.h.

References _geographicalID.

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

74  {
75  _geographicalID = id;
76  //std::cout <<"setGeographicalID " << int(id) << std::endl;
77  }
DetId _geographicalID
Definition: GeometricDet.h:303
DDSolidShape const& GeometricDet::shape ( ) const
inline

Definition at line 125 of file GeometricDet.h.

References _shape.

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

125  {
126  //std::cout<<"shape"<<std::endl;
127  return _shape;
128  }
DDSolidShape _shape
Definition: GeometricDet.h:297
double GeometricDet::siliconAPVNum ( ) const
inline

Definition at line 275 of file GeometricDet.h.

References _siliconAPVNum.

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

275  {
276  //std::cout<<"siliconAPVNum"<<std::endl;
277  return _siliconAPVNum;
278  }
double _siliconAPVNum
Definition: GeometricDet.h:319
bool GeometricDet::stereo ( ) const
inline

The following two are only meaningful for the silicon tracker.

Definition at line 271 of file GeometricDet.h.

References _stereo.

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

271  {
272  //std::cout<<"stereo"<<std::endl;
273  return _stereo;
274  }
DDTranslation const& GeometricDet::translation ( void  ) const
inline
GeometricEnumType GeometricDet::type ( ) const
inline

Definition at line 129 of file GeometricDet.h.

References _type.

Referenced by CmsTrackerLevelBuilder::subDetByType::operator()(), PGeometricDetBuilder::putOne(), and GeometricDetLoader::putOne().

129  {
130  //std::cout<<"type"<<std::endl;
131  return _type;
132  }
GeometricEnumType _type
Definition: GeometricDet.h:300
double GeometricDet::xi ( ) const
inline

Definition at line 244 of file GeometricDet.h.

References _xi.

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

244  {
245  //std::cout<<"xi - chi"<<std::endl;
246  return _xi;
247  }

Member Data Documentation

GeometricDetContainer GeometricDet::_container
private

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

Definition at line 292 of file GeometricDet.h.

Referenced by argparse._MutuallyExclusiveGroup::__init__(), addComponent(), addComponents(), clearComponents(), components(), deepComponents(), deleteComponents(), and isLeaf().

nav_type GeometricDet::_ddd
private

Definition at line 298 of file GeometricDet.h.

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

DDName GeometricDet::_ddname
private

Definition at line 299 of file GeometricDet.h.

Referenced by name().

DetId GeometricDet::_geographicalID
mutableprivate

Definition at line 303 of file GeometricDet.h.

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

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

Definition at line 301 of file GeometricDet.h.

Referenced by bounds(), and params().

double GeometricDet::_phi
private

Definition at line 294 of file GeometricDet.h.

Referenced by phi().

double GeometricDet::_pixROCCols
private

Definition at line 315 of file GeometricDet.h.

Referenced by pixROCCols().

double GeometricDet::_pixROCRows
private

Definition at line 314 of file GeometricDet.h.

Referenced by pixROCRows().

double GeometricDet::_pixROCx
private

Definition at line 316 of file GeometricDet.h.

Referenced by pixROCx().

double GeometricDet::_pixROCy
private

Definition at line 317 of file GeometricDet.h.

Referenced by pixROCy().

double GeometricDet::_radLength
private

Definition at line 312 of file GeometricDet.h.

Referenced by radLength().

double GeometricDet::_rho
private

Definition at line 295 of file GeometricDet.h.

Referenced by rho().

DDRotationMatrix GeometricDet::_rot
private

Definition at line 296 of file GeometricDet.h.

Referenced by rotation(), and rotationBounds().

DDSolidShape GeometricDet::_shape
private

Definition at line 297 of file GeometricDet.h.

Referenced by bounds(), and shape().

double GeometricDet::_siliconAPVNum
private

Definition at line 319 of file GeometricDet.h.

Referenced by siliconAPVNum().

bool GeometricDet::_stereo
private

Definition at line 318 of file GeometricDet.h.

Referenced by stereo().

DDTranslation GeometricDet::_trans
private

Definition at line 293 of file GeometricDet.h.

Referenced by positionBounds(), and translation().

GeometricEnumType GeometricDet::_type
private

Definition at line 300 of file GeometricDet.h.

Referenced by type().

double GeometricDet::_xi
private

Definition at line 313 of file GeometricDet.h.

Referenced by xi().