1 #ifndef Fireworks_Core_FWGeometry_h 2 #define Fireworks_Core_FWGeometry_h 16 #include "TEveVSDStructs.h" 17 #include "TGeoMatrix.h" 31 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};
38 Range(
void ) : min1( 9999 ), max1( -9999 ), min2( 9999 ), max2( -9999 ) {
48 VersionInfo() : productionTag(0), cmsswVersion(0), extraDetectors(0) {}
49 bool haveExtraDet(
const char*)
const;
62 const TGeoMatrix*
getMatrix(
unsigned int id )
const;
64 static TFile*
findFile(
const char* fileName );
67 TGeoShape*
getShape(
unsigned int id )
const;
79 const float*
getCorners(
unsigned int id )
const;
84 void localToGlobal(
unsigned int id,
const float*
local,
float* global,
bool translatep=
true )
const;
85 void localToGlobal(
unsigned int id,
const float* local1,
float* global1,
const float* local2,
float* global2,
bool translatep=
true )
const;
97 return ( this->
id <
id );
102 unsigned int id = o.
id;
103 return (((((
id >> kDetOffset ) & 0xF ) << 4) | ((
id >> kSubdetOffset ) & 0x7 )) == mask );
106 typedef std::vector<FWGeometry::GeomDetInfo>
IdToInfo;
107 typedef std::vector<FWGeometry::GeomDetInfo>::const_iterator
IdToInfoItr;
117 IdToInfoItr
find(
unsigned int )
const;
static TFile * findFile(const char *fileName)
TObjArray * extraDetectors
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
bool operator<(const FedChannelConnection &, const FedChannelConnection &)
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
std::vector< unsigned int > getMatchedIds(Detector det, SubDetector subdet) const
std::vector< FWGeometry::GeomDetInfo > IdToInfo
static const int kDetOffset
std::vector< FWGeometry::GeomDetInfo >::const_iterator IdToInfoItr