CMS 3D CMS Logo

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

#include <GEMGeometry.h>

Inheritance diagram for GEMGeometry:
TrackingGeometry

Public Member Functions

void add (GEMEtaPartition *etaPartition)
 Add a GEM etaPartition to the Geometry. More...
 
virtual const DetIdContainerdetIds () const
 Returm a vector of all GeomDet DetIds (including those of GeomDetUnits) More...
 
virtual const DetContainerdets () const
 Returm a vector of all GeomDet (including all GeomDetUnits) More...
 
virtual const DetTypeContainerdetTypes () const
 Return a vector of all det types. More...
 
virtual const DetIdContainerdetUnitIds () const
 Returm a vector of all GeomDetUnit DetIds. More...
 
virtual const DetUnitContainerdetUnits () const
 Returm a vector of all GeomDetUnit. More...
 
const GEMEtaPartitionetaPartition (GEMDetId id) const
 Return a etaPartition given its id. More...
 
const std::vector
< GEMEtaPartition * > & 
etaPartitions () const
 Return a vector of all GEM chambers. More...
 
 GEMGeometry ()
 Default constructor. More...
 
virtual const GeomDetidToDet (DetId) const
 
virtual const GeomDetUnitidToDetUnit (DetId) const
 Return the pointer to the GeomDetUnit corresponding to a given DetId. More...
 
virtual ~GEMGeometry ()
 Destructor. More...
 
- Public Member Functions inherited from TrackingGeometry
virtual ~TrackingGeometry ()
 Destructor. More...
 

Private Attributes

std::vector< GEMEtaPartition * > allEtaPartitions
 
DetIdContainer theDetIds
 
DetContainer theDets
 
DetIdContainer theEtaPartitionIds
 
DetUnitContainer theEtaPartitions
 Add a GEM Chamber to the Geometry. More...
 
DetTypeContainer theEtaPartitionTypes
 
mapIdToDet theMap
 

Additional Inherited Members

- Public Types inherited from TrackingGeometry
typedef std::vector< GeomDet * > DetContainer
 
typedef std::vector< DetIdDetIdContainer
 
typedef std::vector
< GeomDetType * > 
DetTypeContainer
 
typedef std::vector
< GeomDetUnit * > 
DetUnitContainer
 
typedef __gnu_cxx::hash_map
< unsigned int, GeomDet * > 
mapIdToDet
 
typedef __gnu_cxx::hash_map
< unsigned int, GeomDetUnit * > 
mapIdToDetUnit
 

Detailed Description

The model of the geometry of GEM.

Author
M. Maggi - INFN Bari

Definition at line 21 of file GEMGeometry.h.

Constructor & Destructor Documentation

GEMGeometry::GEMGeometry ( )

Default constructor.

Implementation of the Model for GEM Geometry

Author
M. Maggi - INFN Bari

Definition at line 9 of file GEMGeometry.cc.

9 {}
GEMGeometry::~GEMGeometry ( )
virtual

Destructor.

Definition at line 12 of file GEMGeometry.cc.

12 {}

Member Function Documentation

void GEMGeometry::add ( GEMEtaPartition etaPartition)

Add a GEM etaPartition to the Geometry.

Definition at line 71 of file GEMGeometry.cc.

References allEtaPartitions, etaPartition(), GeomDet::geographicalId(), theDetIds, theDets, theEtaPartitionIds, theEtaPartitions, theEtaPartitionTypes, theMap, and GEMEtaPartition::type().

Referenced by GEMGeometryBuilderFromDDD::buildGeometry().

71  {
72  theDets.push_back(etaPartition);
73  allEtaPartitions.push_back(etaPartition);
74  theEtaPartitions.push_back(etaPartition);
75  theEtaPartitionIds.push_back(etaPartition->geographicalId());
76  theDetIds.push_back(etaPartition->geographicalId());
77  GeomDetType* _t = const_cast<GeomDetType*>(&etaPartition->type());
78  theEtaPartitionTypes.push_back(_t);
79  theMap.insert(std::pair<DetId,GeomDetUnit*>
80  (etaPartition->geographicalId(),etaPartition));
81 }
DetIdContainer theEtaPartitionIds
Definition: GEMGeometry.h:76
const GEMEtaPartition * etaPartition(GEMDetId id) const
Return a etaPartition given its id.
Definition: GEMGeometry.cc:65
DetIdContainer theDetIds
Definition: GEMGeometry.h:77
mapIdToDet theMap
Definition: GEMGeometry.h:80
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
const GeomDetType & type() const
DetContainer theDets
Definition: GEMGeometry.h:74
DetUnitContainer theEtaPartitions
Add a GEM Chamber to the Geometry.
Definition: GEMGeometry.h:73
std::vector< GEMEtaPartition * > allEtaPartitions
Definition: GEMGeometry.h:82
DetTypeContainer theEtaPartitionTypes
Definition: GEMGeometry.h:75
const GEMGeometry::DetIdContainer & GEMGeometry::detIds ( ) const
virtual

Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)

Implements TrackingGeometry.

Definition at line 35 of file GEMGeometry.cc.

References theDetIds.

35  {
36  return theDetIds;
37 }
DetIdContainer theDetIds
Definition: GEMGeometry.h:77
const GEMGeometry::DetContainer & GEMGeometry::dets ( ) const
virtual

Returm a vector of all GeomDet (including all GeomDetUnits)

Implements TrackingGeometry.

Definition at line 25 of file GEMGeometry.cc.

References theDets.

Referenced by GEMSynchronizer::getSimHitBx(), and GEMSimSetUp::setup().

25  {
26  return theDets;
27 }
DetContainer theDets
Definition: GEMGeometry.h:74
const GEMGeometry::DetTypeContainer & GEMGeometry::detTypes ( ) const
virtual

Return a vector of all det types.

Implements TrackingGeometry.

Definition at line 15 of file GEMGeometry.cc.

References theEtaPartitionTypes.

15  {
16  return theEtaPartitionTypes;
17 }
DetTypeContainer theEtaPartitionTypes
Definition: GEMGeometry.h:75
const GEMGeometry::DetIdContainer & GEMGeometry::detUnitIds ( ) const
virtual

Returm a vector of all GeomDetUnit DetIds.

Implements TrackingGeometry.

Definition at line 30 of file GEMGeometry.cc.

References theEtaPartitionIds.

30  {
31  return theEtaPartitionIds;
32 }
DetIdContainer theEtaPartitionIds
Definition: GEMGeometry.h:76
const GEMGeometry::DetUnitContainer & GEMGeometry::detUnits ( ) const
virtual

Returm a vector of all GeomDetUnit.

Implements TrackingGeometry.

Definition at line 20 of file GEMGeometry.cc.

References theEtaPartitions.

20  {
21  return theEtaPartitions;
22 }
DetUnitContainer theEtaPartitions
Add a GEM Chamber to the Geometry.
Definition: GEMGeometry.h:73
const GEMEtaPartition * GEMGeometry::etaPartition ( GEMDetId  id) const

Return a etaPartition given its id.

Definition at line 65 of file GEMGeometry.cc.

References idToDetUnit().

Referenced by add().

65  {
66  return dynamic_cast<const GEMEtaPartition*>(idToDetUnit(id));
67 }
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: GEMGeometry.cc:40
const std::vector< GEMEtaPartition * > & GEMGeometry::etaPartitions ( ) const

Return a vector of all GEM chambers.

Return a vector of all GEM eta partitions

Definition at line 57 of file GEMGeometry.cc.

References allEtaPartitions.

Referenced by FWRecoGeometryESProducer::addGEMGeometry(), GEMCSCPadDigiProducer::buildPads(), and GEMDigitizer::digitize().

57  {
58  return allEtaPartitions;
59 }
std::vector< GEMEtaPartition * > allEtaPartitions
Definition: GEMGeometry.h:82
const GeomDet * GEMGeometry::idToDet ( DetId  ) const
virtual

Return the pointer to the GeomDet corresponding to a given DetId (valid also for GeomDetUnits)

Implements TrackingGeometry.

Definition at line 44 of file GEMGeometry.cc.

References i, and theMap.

Referenced by idToDetUnit().

44  {
45  mapIdToDet::const_iterator i = theMap.find(id);
46  return (i != theMap.end()) ?
47  i->second : 0 ;
48 }
int i
Definition: DBlmapReader.cc:9
mapIdToDet theMap
Definition: GEMGeometry.h:80
const GeomDetUnit * GEMGeometry::idToDetUnit ( DetId  ) const
virtual

Return the pointer to the GeomDetUnit corresponding to a given DetId.

Implements TrackingGeometry.

Definition at line 40 of file GEMGeometry.cc.

References idToDet().

Referenced by etaPartition(), and GEMDigitizer::findDet().

40  {
41  return dynamic_cast<const GeomDetUnit*>(idToDet(id));
42 }
virtual const GeomDet * idToDet(DetId) const
Definition: GEMGeometry.cc:44

Member Data Documentation

std::vector<GEMEtaPartition*> GEMGeometry::allEtaPartitions
private

Definition at line 82 of file GEMGeometry.h.

Referenced by add(), and etaPartitions().

DetIdContainer GEMGeometry::theDetIds
private

Definition at line 77 of file GEMGeometry.h.

Referenced by add(), and detIds().

DetContainer GEMGeometry::theDets
private

Definition at line 74 of file GEMGeometry.h.

Referenced by add(), and dets().

DetIdContainer GEMGeometry::theEtaPartitionIds
private

Definition at line 76 of file GEMGeometry.h.

Referenced by add(), and detUnitIds().

DetUnitContainer GEMGeometry::theEtaPartitions
private

Add a GEM Chamber to the Geometry.

Definition at line 73 of file GEMGeometry.h.

Referenced by add(), and detUnits().

DetTypeContainer GEMGeometry::theEtaPartitionTypes
private

Definition at line 75 of file GEMGeometry.h.

Referenced by add(), and detTypes().

mapIdToDet GEMGeometry::theMap
private

Definition at line 80 of file GEMGeometry.h.

Referenced by add(), and idToDet().