1 #ifndef Fireworks_Core_FWGeometry_h 2 #define Fireworks_Core_FWGeometry_h 21 #include "TEveVSDStructs.h" 22 #include "TGeoMatrix.h" 35 enum SubDetector {
PixelBarrel = 1,
PixelEndcap = 2,
TIB = 3,
TID = 4,
TOB = 5,
TEC = 6,
CSC = 7,
DT = 8,
RPCBarrel = 9,
RPCEndcap = 10,
GEM = 11,
ME0 = 12};
42 Range(
void ) : min1( 9999 ), max1( -9999 ), min2( 9999 ), max2( -9999 ) {
53 bool haveExtraDet(
const char*)
const;
66 const TGeoMatrix*
getMatrix(
unsigned int id )
const;
68 static TFile*
findFile(
const char* fileName );
71 TGeoShape*
getShape(
unsigned int id )
const;
86 const float*
getCorners(
unsigned int id )
const;
91 void localToGlobal(
unsigned int id,
const float*
local,
float* global,
bool translatep=
true )
const;
92 void localToGlobal(
unsigned int id,
const float* local1,
float* global1,
const float* local2,
float* global2,
bool translatep=
true )
const;
100 float translation[3];
104 return ( this->
id <
id );
109 unsigned int id = o.
id;
110 return (((((
id >> kDetOffset ) & 0xF ) << 4) | ((
id >> kSubdetOffset ) & 0x7 )) == mask );
113 typedef std::vector<FWGeometry::GeomDetInfo>
IdToInfo;
114 typedef std::vector<FWGeometry::GeomDetInfo>::const_iterator
IdToInfoItr;
124 IdToInfoItr
find(
unsigned int )
const;
std::unique_ptr< TrackerTopology > m_trackerTopology
static TFile * findFile(const char *fileName)
TObjArray * extraDetectors
TEveGeoShape * getHGCSiliconEveShape(unsigned int id) const
void initMap(const FWRecoGeom::InfoMap &map)
IdToInfoItr find(unsigned int) const
const float * getParameters(unsigned int id) const
bool match_id(const GeomDetInfo &o, unsigned int mask) const
TGeoShape * getShape(unsigned int id) const
const TGeoMatrix * getMatrix(unsigned int id) const
const VersionInfo & versionInfo() const
std::map< unsigned int, TGeoMatrix * > m_idToMatrix
const float * getShapePars(unsigned int id) const
IdToInfoItr mapEnd() const
VersionInfo m_versionInfo
TEveGeoShape * getEveShape(unsigned int id) const
void loadMap(const char *fileName)
void localToGlobal(unsigned int id, const float *local, float *global, bool translatep=true) const
bool contains(unsigned int id) const
std::vector< FWRecoGeom::Info > InfoMap
static const int kSubdetOffset
int getProducerVersion() const
const float * getCorners(unsigned int id) const
bool operator<(DTCELinkId const &lhs, DTCELinkId const &rhs)
std::vector< unsigned int > getMatchedIds(Detector det, SubDetector subdet) const
std::vector< FWGeometry::GeomDetInfo > IdToInfo
static const int kDetOffset
const TrackerTopology * getTrackerTopology() const
std::vector< FWGeometry::GeomDetInfo >::const_iterator IdToInfoItr
TEveGeoShape * getHGCScintillatorEveShape(unsigned int id) const