Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Sven Dildick
committed
Dec 2, 2013
1 parent
1e1e78c
commit e385ee1
Showing
10 changed files
with
571 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
#ifndef GEMGeometry_GEMRegion_h | ||
#define GEMGeometry_GEMRegion_h | ||
|
||
/** \class GEMRegion | ||
* | ||
* Model of a GEM Region | ||
* | ||
* A region has maximal 5 stations | ||
* | ||
* \author S. Dildick | ||
*/ | ||
|
||
#include "Geometry/CommonDetUnit/interface/GeomDet.h" | ||
#include "DataFormats/MuonDetId/interface/GEMDetId.h" | ||
|
||
class GEMStation; | ||
class GEMSuperChamber; | ||
|
||
class GEMRegion | ||
{ | ||
public: | ||
/// constructor | ||
GEMRegion(int region); | ||
|
||
/// destructor | ||
~GEMRegion(); | ||
|
||
/// Return the vector of GEMDetIds in this ring | ||
std::vector<GEMDetId> ids() const; | ||
|
||
/// equal if the id is the same | ||
bool operator==(const GEMRegion& reg) const; | ||
|
||
/// Add station to the region which takes ownership | ||
void add(GEMStation* st); | ||
|
||
/// Return the super chambers in the region | ||
virtual std::vector<const GeomDet*> components() const; | ||
|
||
/// Return the sub-component (super chamber) with a given id in this region | ||
virtual const GeomDet* component(DetId id) const; | ||
|
||
/// Return the super chamber corresponding to the given id | ||
const GEMSuperChamber* superChamber(GEMDetId id) const; | ||
|
||
/// Return the super chambers in the region | ||
std::vector<const GEMSuperChamber*> superChambers() const; | ||
|
||
/// Return a station | ||
const GEMStation* station(int st) const; | ||
|
||
/// Return all stations | ||
const std::vector<const GEMStation*>& stations() const; | ||
|
||
/// Return numbers of stations | ||
int nStations() const; | ||
|
||
/// Return the region | ||
int region() const; | ||
|
||
private: | ||
|
||
int region_; | ||
// vector of stations for a region | ||
std::vector<const GEMStation*> stations_; | ||
|
||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
#ifndef GEMGeometry_GEMRing_h | ||
#define GEMGeometry_GEMRing_h | ||
|
||
/** \class GEMRing | ||
* | ||
* Model of a GEM Ring | ||
* | ||
* A ring is composed of 36 super chambers | ||
* | ||
* \author S. Dildick | ||
*/ | ||
|
||
#include "Geometry/CommonDetUnit/interface/GeomDet.h" | ||
#include "DataFormats/MuonDetId/interface/GEMDetId.h" | ||
|
||
class GEMSuperChamber; | ||
|
||
class GEMRing | ||
{ | ||
public: | ||
/// constructor | ||
GEMRing(int region, int station, int ring); | ||
|
||
/// destructor | ||
~GEMRing(); | ||
|
||
/// Return the vector of GEMDetIds in this ring | ||
std::vector<GEMDetId> ids() const; | ||
|
||
/// equal if the id is the same | ||
bool operator==(const GEMRing& sch) const; | ||
|
||
/// Add super chamber to the ring which takes ownership | ||
void add(GEMSuperChamber* ch); | ||
|
||
/// Return the super chambers in the ring | ||
virtual std::vector<const GeomDet*> components() const; | ||
|
||
/// Return the sub-component (super chamber) with a given id in this ring | ||
virtual const GeomDet* component(DetId id) const; | ||
|
||
/// Return the chamber corresponding to the given id | ||
const GEMSuperChamber* superChamber(GEMDetId id) const; | ||
|
||
// Return a super chamber | ||
const GEMSuperChamber* superChamber(int sch) const; | ||
|
||
/// Return the chambers in the ring | ||
std::vector<const GEMSuperChamber*> superChambers() const; | ||
|
||
/// Return numbers of chambers | ||
int nSuperChambers() const; | ||
|
||
/// Return the region number | ||
int region() const; | ||
|
||
/// Return the station number | ||
int station() const; | ||
|
||
/// Return the ring number | ||
int ring() const; | ||
|
||
private: | ||
|
||
int region_; | ||
int station_; | ||
int ring_; | ||
|
||
std::vector<GEMDetId> detIds_; | ||
|
||
// vector of chambers for a super chamber | ||
std::vector<const GEMSuperChamber*> superChambers_; | ||
|
||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#ifndef GEMGeometry_GEMStation_h | ||
#define GEMGeometry_GEMStation_h | ||
|
||
/** \class GEMStation | ||
* | ||
* Model of a GEM Station | ||
* | ||
* A station is composed of maximal 3 rings | ||
* | ||
* \author S. Dildick | ||
*/ | ||
|
||
#include "Geometry/CommonDetUnit/interface/GeomDet.h" | ||
#include "DataFormats/MuonDetId/interface/GEMDetId.h" | ||
#include "Geometry/GEMGeometry/interface/GEMRing.h" | ||
|
||
class GEMSuperChamber; | ||
|
||
class GEMStation | ||
{ | ||
public: | ||
/// constructor | ||
GEMStation(int region, int station); | ||
|
||
/// destructor | ||
~GEMStation(); | ||
|
||
/// Return the vector of GEMDetIds in this station | ||
std::vector<GEMDetId> ids() const; | ||
|
||
/// equal if the id is the same | ||
bool operator==(const GEMStation& st) const; | ||
|
||
/// Add ring to the station which takes ownership | ||
void add(GEMRing* ring); | ||
|
||
/// Return the super chambers in the station | ||
virtual std::vector<const GeomDet*> components() const; | ||
|
||
/// Return the sub-component (super chamber) with a given id in this station | ||
virtual const GeomDet* component(DetId id) const; | ||
|
||
/// Return the chamber corresponding to the given id | ||
const GEMSuperChamber* superChamber(GEMDetId id) const; | ||
|
||
/// Return the super chambers in the region | ||
std::vector<const GEMSuperChamber*> superChambers() const; | ||
|
||
/// Get a ring | ||
const GEMRing* ring(int ring) const; | ||
|
||
/// Return the rings in the station | ||
const std::vector<const GEMRing*>& rings() const; | ||
|
||
/// Return numbers of rings for this station | ||
int nRings() const; | ||
|
||
/// Set the station name | ||
void setName(std::string name); | ||
|
||
/// Set the station name | ||
const std::string getName() const; | ||
|
||
/// Get the region | ||
int region() const; | ||
|
||
/// Get the station | ||
int station() const; | ||
|
||
private: | ||
|
||
int region_; | ||
int station_; | ||
|
||
// vector of rings for a station | ||
std::vector<const GEMRing*> rings_; | ||
std::string name_; | ||
|
||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.