19 #include "TEveManager.h"
20 #include "TEveGeoNode.h"
44 m_muonBarrelElements(0),
45 m_muonEndcapElements(0),
46 m_pixelBarrelElements(0),
47 m_pixelEndcapElements(0),
48 m_trackerBarrelElements(0),
49 m_trackerEndcapElements(0)
52 SetElementName(
"3D Geometry");
83 for( Int_t iWheel = -2; iWheel <= 2; ++iWheel )
85 for ( Int_t iStation = 1; iStation <= 4; ++iStation )
89 if( iWheel == -2 || iWheel == 2 || iStation == 4 )
92 s <<
"Station" << iStation;
93 TEveElementList* cStation =
new TEveElementList( s.str().c_str() );
95 for( Int_t iSector = 1 ; iSector <= 14; ++iSector )
97 if( iStation < 4 && iSector > 12 )
continue;
101 cStation->AddElement( shape );
123 for( Int_t iEndcap = 1; iEndcap <= 2; ++iEndcap )
125 TEveElementList* cEndcap = 0;
127 cEndcap =
new TEveElementList(
"Forward" );
129 cEndcap =
new TEveElementList(
"Backward" );
136 Int_t maxChambers = 36;
137 for( Int_t iStation = 1; iStation <= 4; ++iStation )
139 std::ostringstream
s; s <<
"Station" << iStation;
140 TEveElementList* cStation =
new TEveElementList( s.str().c_str() );
141 cEndcap->AddElement( cStation );
142 for( Int_t iRing = 1; iRing <= 4; ++iRing )
144 if( iStation > 1 && iRing > 2 )
continue;
145 if( iStation > 3 && iRing > 1 )
continue;
146 std::ostringstream
s; s <<
"Ring" << iRing;
147 TEveElementList* cRing =
new TEveElementList( s.str().c_str() );
148 cStation->AddElement( cRing );
149 ( iRing == 1 && iStation > 1 ) ? ( maxChambers = 18 ) : ( maxChambers = 36 );
150 for( Int_t iChamber = 1; iChamber <= maxChambers; ++iChamber )
153 CSCDetId id( iEndcap, iStation, iRing, iChamber, iLayer );
156 cRing->AddElement( shape );
180 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
181 id != ids.end(); ++
id )
205 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
206 id != ids.end(); ++
id )
231 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
232 id != ids.end(); ++
id )
239 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
240 id != ids.end(); ++
id )
264 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
265 id != ids.end(); ++
id )
272 for( std::vector<unsigned int>::const_iterator
id = ids.begin();
273 id != ids.end(); ++
id )
void showMuonBarrel(bool)
TEveElementList * m_pixelBarrelElements
virtual ~FW3DViewGeometry()
void showTrackerEndcap(bool)
void showTrackerBarrel(bool)
void addToCompound(TEveElement *el, FWGeomColorIndex idx, bool applyTransp=true) const
void showMuonEndcap(bool)
TEveElementList * m_pixelEndcapElements
TEveGeoShape * getEveShape(unsigned int id) const
TEveElementList * m_muonEndcapElements
TEveElementList * m_muonBarrelElements
const FWGeometry * m_geom
TEveElementList * m_trackerEndcapElements
TEveElementList * m_trackerBarrelElements
void showPixelBarrel(bool)
FW3DViewGeometry(const fireworks::Context &context)
void showPixelEndcap(bool)
std::vector< unsigned int > getMatchedIds(Detector det, SubDetector subdet) const