#include <VisReco/Analyzer/interface/VisEventSetup.h>
Definition at line 38 of file VisEventSetup.h.
VisEventSetup::VisEventSetup | ( | const edm::ParameterSet & | iPSet | ) | [explicit] |
virtual VisEventSetup::~VisEventSetup | ( | ) | [inline, virtual] |
void VisEventSetup::addCorners | ( | IgCollectionItem & | icorner, | |
const GeomDet * | det | |||
) | [private] |
Definition at line 342 of file VisEventSetup.cc.
References b, b2, BoundSurface::bounds(), Bounds::length(), p, TrapezoidalPlaneBounds::parameters(), python::trackProbabilityAnalysis_cff::parameters, GeomDet::surface(), Bounds::thickness(), Surface::toGlobal(), Bounds::width(), width, x, y, and z.
Referenced by buildCSC(), and buildRPC().
00343 { 00344 GlobalPoint p[8]; 00345 00346 float length = det->surface().bounds().length(); 00347 float width = det->surface().bounds().width(); 00348 float thickness = det->surface().bounds().thickness(); 00349 00350 const Bounds *b = &(det->surface ().bounds ()); 00351 if (dynamic_cast<const TrapezoidalPlaneBounds *> (b)) 00352 { 00353 const TrapezoidalPlaneBounds *b2 = dynamic_cast<const TrapezoidalPlaneBounds *> (b); 00354 std::vector< float > parameters = b2->parameters (); 00355 00356 p[0] = det->surface().toGlobal(LocalPoint(parameters[0],-parameters[3],parameters[2])); 00357 p[1] = det->surface().toGlobal(LocalPoint(-parameters[0],-parameters[3],parameters[2])); 00358 p[2] = det->surface().toGlobal(LocalPoint(parameters[1],parameters[3],parameters[2])); 00359 p[3] = det->surface().toGlobal(LocalPoint(-parameters[1],parameters[3],parameters[2])); 00360 p[4] = det->surface().toGlobal(LocalPoint(parameters[0],-parameters[3],-parameters[2])); 00361 p[5] = det->surface().toGlobal(LocalPoint(-parameters[0],-parameters[3],-parameters[2])); 00362 p[6] = det->surface().toGlobal(LocalPoint(parameters[1],parameters[3],-parameters[2])); 00363 p[7] = det->surface().toGlobal(LocalPoint(-parameters[1],parameters[3],-parameters[2])); 00364 } 00365 if (dynamic_cast<const RectangularPlaneBounds *> (b)) 00366 { 00367 p[0] = det->surface().toGlobal(LocalPoint(width/2,length/2,thickness/2)); 00368 p[1] = det->surface().toGlobal(LocalPoint(width/2,-length/2,thickness/2)); 00369 p[2] = det->surface().toGlobal(LocalPoint(-width/2,length/2,thickness/2)); 00370 p[3] = det->surface().toGlobal(LocalPoint(-width/2,-length/2,thickness/2)); 00371 p[4] = det->surface().toGlobal(LocalPoint(width/2,length/2,-thickness/2)); 00372 p[5] = det->surface().toGlobal(LocalPoint(width/2,-length/2,-thickness/2)); 00373 p[6] = det->surface().toGlobal(LocalPoint(-width/2,length/2,-thickness/2)); 00374 p[7] = det->surface().toGlobal(LocalPoint(-width/2,-length/2,-thickness/2)); 00375 } 00376 00377 icorner["front_1"] = IgV3d(static_cast<double>(p[0].x()/100.0), static_cast<double>(p[0].y()/100.0), static_cast<double>(p[0].z()/100.0)); 00378 icorner["front_2"] = IgV3d(static_cast<double>(p[1].x()/100.0), static_cast<double>(p[1].y()/100.0), static_cast<double>(p[1].z()/100.0)); 00379 icorner["front_4"] = IgV3d(static_cast<double>(p[2].x()/100.0), static_cast<double>(p[2].y()/100.0), static_cast<double>(p[2].z()/100.0)); 00380 icorner["front_3"] = IgV3d(static_cast<double>(p[3].x()/100.0), static_cast<double>(p[3].y()/100.0), static_cast<double>(p[3].z()/100.0)); 00381 icorner["back_1"] = IgV3d(static_cast<double>(p[4].x()/100.0), static_cast<double>(p[4].y()/100.0), static_cast<double>(p[4].z()/100.0)); 00382 icorner["back_2"] = IgV3d(static_cast<double>(p[5].x()/100.0), static_cast<double>(p[5].y()/100.0), static_cast<double>(p[5].z()/100.0)); 00383 icorner["back_4"] = IgV3d(static_cast<double>(p[6].x()/100.0), static_cast<double>(p[6].y()/100.0), static_cast<double>(p[6].z()/100.0)); 00384 icorner["back_3"] = IgV3d(static_cast<double>(p[7].x()/100.0), static_cast<double>(p[7].y()/100.0), static_cast<double>(p[7].z()/100.0)); 00385 }
void VisEventSetup::analyze | ( | const edm::Event & | event, | |
const edm::EventSetup & | eventSetup | |||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 48 of file VisEventSetup.cc.
References buildCalo(), buildCSC(), buildDriftTubes(), buildRPC(), buildTracker(), caloGeom_, edm::ESWatcher< T >::check(), edmplugin::standard::config(), cscGeom_, dtGeom_, Exception, field_, edm::EventSetup::get(), globalTrackingGeom_, edm::Service< T >::isAvailable(), edm::ESHandle< T >::isValid(), rpcGeom_, trackerGeom_, watch_caloGeom_, watch_muonGeom_, and watch_trackerGeom_.
00049 { 00050 edm::Service<IguanaService> config; 00051 if (! config.isAvailable ()) 00052 { 00053 throw cms::Exception ("Configuration") 00054 << "VisEventSetup requires the IguanaService\n" 00055 "which is not present in the configuration file.\n" 00056 "You must add the service in the configuration file\n" 00057 "or remove the module that requires it"; 00058 } 00059 eventSetup.get<GlobalTrackingGeometryRecord> ().get (globalTrackingGeom_); 00060 eventSetup.get<TrackerDigiGeometryRecord> ().get (trackerGeom_); 00061 eventSetup.get<CaloGeometryRecord> ().get (caloGeom_); 00062 eventSetup.get<MuonGeometryRecord> ().get (cscGeom_); 00063 eventSetup.get<MuonGeometryRecord> ().get (dtGeom_); 00064 eventSetup.get<MuonGeometryRecord> ().get (rpcGeom_); 00065 eventSetup.get<IdealMagneticFieldRecord> ().get (field_); 00066 00067 IgDataStorage *storage = config->esStorage (); 00068 00069 if (trackerGeom_.isValid () && watch_trackerGeom_.check (eventSetup)) buildTracker (storage); 00070 if (caloGeom_.isValid () && watch_caloGeom_.check (eventSetup)) buildCalo (storage); 00071 if (watch_muonGeom_.check (eventSetup)) 00072 { 00073 if (dtGeom_.isValid ()) buildDriftTubes (storage); 00074 if (cscGeom_.isValid ()) buildCSC (storage); 00075 if (rpcGeom_.isValid ()) buildRPC (storage); 00076 } 00077 }
void VisEventSetup::build | ( | IgDataStorage * | storage, | |
std::string | name, | |||
DetId::Detector | det, | |||
int | subdetn | |||
) | [private] |
Definition at line 288 of file VisEventSetup.cc.
References IgCollection::addProperty(), IgCollection::create(), DetId::Ecal, IgDataStorage::getCollection(), CaloCellGeometry::getCorners(), CaloSubdetectorGeometry::getGeometry(), CaloSubdetectorGeometry::getValidDetIds(), DetId::Hcal, it, EZArrayFL< T >::size(), x, y, and z.
Referenced by buildCalo().
00289 { 00290 IgCollection &geometry = storage->getCollection (name.c_str ()); 00291 IgProperty DET_ID = geometry.addProperty("detid", int (0)); 00292 IgProperty FRONT_1 = geometry.addProperty("front_1", IgV3d()); 00293 IgProperty FRONT_2 = geometry.addProperty("front_2", IgV3d()); 00294 IgProperty FRONT_3 = geometry.addProperty("front_3", IgV3d()); 00295 IgProperty FRONT_4 = geometry.addProperty("front_4", IgV3d()); 00296 IgProperty BACK_1 = geometry.addProperty("back_1", IgV3d()); 00297 IgProperty BACK_2 = geometry.addProperty("back_2", IgV3d()); 00298 IgProperty BACK_3 = geometry.addProperty("back_3", IgV3d()); 00299 IgProperty BACK_4 = geometry.addProperty("back_4", IgV3d()); 00300 00301 const CaloSubdetectorGeometry *geom = (*caloGeom_).getSubdetectorGeometry (det, subdetn); 00302 const std::vector<DetId>& ids (geom->getValidDetIds (det, subdetn)); 00303 for (std::vector<DetId>::const_iterator it = ids.begin (), iEnd = ids.end (); it != iEnd; ++it) 00304 { 00305 const CaloCellGeometry *cell = geom->getGeometry (*it); 00306 const CaloCellGeometry::CornersVec& corners = cell->getCorners (); 00307 assert (corners.size () == 8); 00308 00309 uint32_t id = (*it).rawId (); 00310 00311 IgCollectionItem icorner = geometry.create (); 00312 icorner[DET_ID] = static_cast<int>(id); 00313 00314 if (det == DetId::Ecal) 00315 { 00316 icorner[FRONT_1] = IgV3d(static_cast<double>(corners[3].x()/100.0), static_cast<double>(corners[3].y()/100.0), static_cast<double>(corners[3].z()/100.0)); 00317 icorner[FRONT_2] = IgV3d(static_cast<double>(corners[2].x()/100.0), static_cast<double>(corners[2].y()/100.0), static_cast<double>(corners[2].z()/100.0)); 00318 icorner[FRONT_3] = IgV3d(static_cast<double>(corners[1].x()/100.0), static_cast<double>(corners[1].y()/100.0), static_cast<double>(corners[1].z()/100.0)); 00319 icorner[FRONT_4] = IgV3d(static_cast<double>(corners[0].x()/100.0), static_cast<double>(corners[0].y()/100.0), static_cast<double>(corners[0].z()/100.0)); 00320 00321 icorner[BACK_1] = IgV3d(static_cast<double>(corners[7].x()/100.0), static_cast<double>(corners[7].y()/100.0), static_cast<double>(corners[7].z()/100.0)); 00322 icorner[BACK_2] = IgV3d(static_cast<double>(corners[6].x()/100.0), static_cast<double>(corners[6].y()/100.0), static_cast<double>(corners[6].z()/100.0)); 00323 icorner[BACK_3] = IgV3d(static_cast<double>(corners[5].x()/100.0), static_cast<double>(corners[5].y()/100.0), static_cast<double>(corners[5].z()/100.0)); 00324 icorner[BACK_4] = IgV3d(static_cast<double>(corners[4].x()/100.0), static_cast<double>(corners[4].y()/100.0), static_cast<double>(corners[4].z()/100.0)); 00325 } 00326 else if (det == DetId::Hcal) 00327 { 00328 icorner[FRONT_1] = IgV3d(static_cast<double>(corners[0].x()/100.0), static_cast<double>(corners[0].y()/100.0), static_cast<double>(corners[0].z()/100.0)); 00329 icorner[FRONT_2] = IgV3d(static_cast<double>(corners[1].x()/100.0), static_cast<double>(corners[1].y()/100.0), static_cast<double>(corners[1].z()/100.0)); 00330 icorner[FRONT_3] = IgV3d(static_cast<double>(corners[2].x()/100.0), static_cast<double>(corners[2].y()/100.0), static_cast<double>(corners[2].z()/100.0)); 00331 icorner[FRONT_4] = IgV3d(static_cast<double>(corners[3].x()/100.0), static_cast<double>(corners[3].y()/100.0), static_cast<double>(corners[3].z()/100.0)); 00332 00333 icorner[BACK_1] = IgV3d(static_cast<double>(corners[4].x()/100.0), static_cast<double>(corners[4].y()/100.0), static_cast<double>(corners[4].z()/100.0)); 00334 icorner[BACK_2] = IgV3d(static_cast<double>(corners[5].x()/100.0), static_cast<double>(corners[5].y()/100.0), static_cast<double>(corners[5].z()/100.0)); 00335 icorner[BACK_3] = IgV3d(static_cast<double>(corners[6].x()/100.0), static_cast<double>(corners[6].y()/100.0), static_cast<double>(corners[6].z()/100.0)); 00336 icorner[BACK_4] = IgV3d(static_cast<double>(corners[7].x()/100.0), static_cast<double>(corners[7].y()/100.0), static_cast<double>(corners[7].z()/100.0)); 00337 } 00338 } 00339 }
void VisEventSetup::buildCalo | ( | IgDataStorage * | storage | ) | [private] |
Definition at line 202 of file VisEventSetup.cc.
References build(), DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.
Referenced by analyze().
00203 { 00204 build (storage, "EcalBarrel_V1", DetId::Ecal, EcalBarrel); 00205 build (storage, "EcalEndcap_V1", DetId::Ecal, EcalEndcap); 00206 build (storage, "EcalPreshower_V1", DetId::Ecal, EcalPreshower); 00207 build (storage, "HcalBarrel_V1", DetId::Hcal, HcalBarrel); 00208 build (storage, "HcalEndcap_V1", DetId::Hcal, HcalEndcap); 00209 build (storage, "HcalOuter_V1", DetId::Hcal, HcalOuter); 00210 build (storage, "HcalForward_V1", DetId::Hcal, HcalForward); 00211 }
void VisEventSetup::buildCSC | ( | IgDataStorage * | storage | ) | [private] |
Definition at line 214 of file VisEventSetup.cc.
References addCorners(), IgCollection::addProperty(), IgCollection::create(), cscGeom_, detId, end, CSCChamber::geographicalId(), IgDataStorage::getCollection(), it, and DetId::rawId().
Referenced by analyze().
00215 { 00216 IgCollection &geometry = storage->getCollection ("CSC_V1"); 00217 IgProperty DET_ID = geometry.addProperty("detid", int (0)); 00218 IgProperty FRONT_1 = geometry.addProperty("front_1", IgV3d()); 00219 IgProperty FRONT_2 = geometry.addProperty("front_2", IgV3d()); 00220 IgProperty FRONT_3 = geometry.addProperty("front_3", IgV3d()); 00221 IgProperty FRONT_4 = geometry.addProperty("front_4", IgV3d()); 00222 IgProperty BACK_1 = geometry.addProperty("back_1", IgV3d()); 00223 IgProperty BACK_2 = geometry.addProperty("back_2", IgV3d()); 00224 IgProperty BACK_3 = geometry.addProperty("back_3", IgV3d()); 00225 IgProperty BACK_4 = geometry.addProperty("back_4", IgV3d()); 00226 00227 std::vector<CSCChamber *> vc = cscGeom_->chambers (); 00228 00229 for (std::vector<CSCChamber *>::const_iterator it = vc.begin (), end = vc.end (); 00230 it != end; ++it) 00231 { 00232 const CSCChamber *cscChamber = *it; 00233 00234 if (cscChamber) 00235 { 00236 DetId detId = cscChamber->geographicalId (); 00237 uint32_t id = detId.rawId (); 00238 00239 IgCollectionItem icorner = geometry.create (); 00240 icorner[DET_ID] = static_cast<int>(id); 00241 addCorners (icorner, cscChamber); 00242 } 00243 } 00244 }
void VisEventSetup::buildDriftTubes | ( | IgDataStorage * | storage | ) | [private] |
Definition at line 148 of file VisEventSetup.cc.
References IgCollection::addProperty(), BoundSurface::bounds(), IgCollection::create(), dtGeom_, end, DTChamber::geographicalId(), IgDataStorage::getCollection(), DTChamber::id(), it, Bounds::length(), p, DetId::rawId(), GeomDet::surface(), Bounds::thickness(), Surface::toGlobal(), Bounds::width(), width, x, y, and z.
Referenced by analyze().
00149 { 00150 IgCollection &geometry = storage->getCollection ("DTs_V1"); // ("Geometry_V1"); 00151 IgProperty DET_ID = geometry.addProperty("detid", int (0)); 00152 IgProperty FRONT_1 = geometry.addProperty("front_1", IgV3d()); 00153 IgProperty FRONT_2 = geometry.addProperty("front_2", IgV3d()); 00154 IgProperty FRONT_4 = geometry.addProperty("front_3", IgV3d()); 00155 IgProperty FRONT_3 = geometry.addProperty("front_4", IgV3d()); 00156 IgProperty BACK_1 = geometry.addProperty("back_1", IgV3d()); 00157 IgProperty BACK_2 = geometry.addProperty("back_2", IgV3d()); 00158 IgProperty BACK_4 = geometry.addProperty("back_3", IgV3d()); 00159 IgProperty BACK_3 = geometry.addProperty("back_4", IgV3d()); 00160 00161 std::vector<DTChamber *> vc = dtGeom_->chambers (); 00162 00163 for (std::vector<DTChamber *>::const_iterator it = vc.begin (), end = vc.end (); 00164 it != end; ++it) 00165 { 00166 const DTChamber *chamber = *it; 00167 if (chamber) 00168 { 00169 DTChamberId chId = chamber->id (); 00170 uint32_t id = chamber->geographicalId ().rawId (); 00171 00172 IgCollectionItem icorner = geometry.create (); 00173 icorner[DET_ID] = static_cast<int>(id); 00174 00175 float length = chamber->surface().bounds().length(); 00176 float width = chamber->surface().bounds().width(); 00177 float thickness = chamber->surface().bounds().thickness(); 00178 00179 GlobalPoint p[8]; 00180 p[0] = chamber->surface().toGlobal(LocalPoint(width/2,length/2,thickness/2)); 00181 p[1] = chamber->surface().toGlobal(LocalPoint(width/2,-length/2,thickness/2)); 00182 p[2] = chamber->surface().toGlobal(LocalPoint(-width/2,length/2,thickness/2)); 00183 p[3] = chamber->surface().toGlobal(LocalPoint(-width/2,-length/2,thickness/2)); 00184 p[4] = chamber->surface().toGlobal(LocalPoint(width/2,length/2,-thickness/2)); 00185 p[5] = chamber->surface().toGlobal(LocalPoint(width/2,-length/2,-thickness/2)); 00186 p[6] = chamber->surface().toGlobal(LocalPoint(-width/2,length/2,-thickness/2)); 00187 p[7] = chamber->surface().toGlobal(LocalPoint(-width/2,-length/2,-thickness/2)); 00188 00189 icorner[FRONT_1] = IgV3d(static_cast<double>(p[0].x()/100.0), static_cast<double>(p[0].y()/100.0), static_cast<double>(p[0].z()/100.0)); 00190 icorner[FRONT_2] = IgV3d(static_cast<double>(p[1].x()/100.0), static_cast<double>(p[1].y()/100.0), static_cast<double>(p[1].z()/100.0)); 00191 icorner[FRONT_3] = IgV3d(static_cast<double>(p[2].x()/100.0), static_cast<double>(p[2].y()/100.0), static_cast<double>(p[2].z()/100.0)); 00192 icorner[FRONT_4] = IgV3d(static_cast<double>(p[3].x()/100.0), static_cast<double>(p[3].y()/100.0), static_cast<double>(p[3].z()/100.0)); 00193 icorner[BACK_1] = IgV3d(static_cast<double>(p[4].x()/100.0), static_cast<double>(p[4].y()/100.0), static_cast<double>(p[4].z()/100.0)); 00194 icorner[BACK_2] = IgV3d(static_cast<double>(p[5].x()/100.0), static_cast<double>(p[5].y()/100.0), static_cast<double>(p[5].z()/100.0)); 00195 icorner[BACK_3] = IgV3d(static_cast<double>(p[6].x()/100.0), static_cast<double>(p[6].y()/100.0), static_cast<double>(p[6].z()/100.0)); 00196 icorner[BACK_4] = IgV3d(static_cast<double>(p[7].x()/100.0), static_cast<double>(p[7].y()/100.0), static_cast<double>(p[7].z()/100.0)); 00197 } 00198 } 00199 }
void VisEventSetup::buildMagneticField | ( | IgDataStorage * | storage | ) | [private] |
void VisEventSetup::buildRPC | ( | IgDataStorage * | storage | ) | [private] |
Definition at line 247 of file VisEventSetup.cc.
References addCorners(), IgCollection::addProperty(), IgCollection::create(), end, IgDataStorage::getCollection(), RPCRoll::id(), it, DetId::rawId(), and rpcGeom_.
Referenced by analyze().
00248 { 00249 IgCollection &geometry = storage->getCollection ("RPC_V1"); 00250 IgProperty DET_ID = geometry.addProperty("detid", int (0)); 00251 IgProperty FRONT_1 = geometry.addProperty("front_1", IgV3d()); 00252 IgProperty FRONT_2 = geometry.addProperty("front_2", IgV3d()); 00253 IgProperty FRONT_3 = geometry.addProperty("front_3", IgV3d()); 00254 IgProperty FRONT_4 = geometry.addProperty("front_4", IgV3d()); 00255 IgProperty BACK_1 = geometry.addProperty("back_1", IgV3d()); 00256 IgProperty BACK_2 = geometry.addProperty("back_2", IgV3d()); 00257 IgProperty BACK_3 = geometry.addProperty("back_3", IgV3d()); 00258 IgProperty BACK_4 = geometry.addProperty("back_4", IgV3d()); 00259 00260 std::vector<RPCRoll *> vc = rpcGeom_->rolls (); 00261 00262 for (std::vector<RPCRoll *>::const_iterator it = vc.begin (), end = vc.end (); 00263 it != end; ++it) 00264 { 00265 const RPCRoll *roll = *it; 00266 00267 if (roll) 00268 { 00269 RPCDetId chId = roll->id (); 00270 if (chId) 00271 { 00272 uint32_t id = (*it)->geographicalId ().rawId (); 00273 IgCollectionItem icorner = geometry.create (); 00274 icorner[DET_ID] = static_cast<int>(id); 00275 addCorners (icorner, *it); 00276 } 00277 } 00278 } 00279 }
void VisEventSetup::buildTracker | ( | IgDataStorage * | storage | ) | [private] |
Definition at line 80 of file VisEventSetup.cc.
References IgCollection::addProperty(), b, b2, BoundSurface::bounds(), IgCollection::create(), end, IgDataStorage::getCollection(), it, Bounds::length(), p, TrapezoidalPlaneBounds::parameters(), python::trackProbabilityAnalysis_cff::parameters, GeomDet::surface(), Bounds::thickness(), Surface::toGlobal(), trackerGeom_, Bounds::width(), width, x, y, and z.
Referenced by analyze().
00081 { 00082 IgCollection &geometry = storage->getCollection ("Tracker_V1"); 00083 IgProperty DET_ID = geometry.addProperty ("detid", int (0)); 00084 IgProperty FRONT_1 = geometry.addProperty ("front_1", IgV3d()); 00085 IgProperty FRONT_2 = geometry.addProperty ("front_2", IgV3d()); 00086 IgProperty FRONT_4 = geometry.addProperty ("front_3", IgV3d()); 00087 IgProperty FRONT_3 = geometry.addProperty ("front_4", IgV3d()); 00088 IgProperty BACK_1 = geometry.addProperty ("back_1", IgV3d()); 00089 IgProperty BACK_2 = geometry.addProperty ("back_2", IgV3d()); 00090 IgProperty BACK_4 = geometry.addProperty ("back_3", IgV3d()); 00091 IgProperty BACK_3 = geometry.addProperty ("back_4", IgV3d()); 00092 00093 TrackerGeometry::DetUnitContainer::const_iterator it = trackerGeom_->detUnits ().begin (); 00094 TrackerGeometry::DetUnitContainer::const_iterator end = trackerGeom_->detUnits ().end (); 00095 for (; it != end; ++it) 00096 { 00097 uint32_t id = (*it)->geographicalId ().rawId (); 00098 00099 IgCollectionItem icorner = geometry.create (); 00100 icorner[DET_ID] = static_cast<int> (id); 00101 00102 const Bounds *b = &(((*it)->surface ()).bounds ()); 00103 GlobalPoint p[8]; 00104 00105 const GeomDetUnit *det = trackerGeom_->idToDetUnit ((*it)->geographicalId ()); 00106 if (dynamic_cast<const TrapezoidalPlaneBounds *> (b)) 00107 { 00108 // Trapezoidal 00109 const TrapezoidalPlaneBounds *b2 = dynamic_cast<const TrapezoidalPlaneBounds *> (b); 00110 std::vector< float > parameters = b2->parameters (); 00111 p[0] = det->surface().toGlobal(LocalPoint(parameters[0],-parameters[3],parameters[2])); 00112 p[1] = det->surface().toGlobal(LocalPoint(-parameters[0],-parameters[3],parameters[2])); 00113 p[2] = det->surface().toGlobal(LocalPoint(parameters[1],parameters[3],parameters[2])); 00114 p[3] = det->surface().toGlobal(LocalPoint(-parameters[1],parameters[3],parameters[2])); 00115 p[4] = det->surface().toGlobal(LocalPoint(parameters[0],-parameters[3],-parameters[2])); 00116 p[5] = det->surface().toGlobal(LocalPoint(-parameters[0],-parameters[3],-parameters[2])); 00117 p[6] = det->surface().toGlobal(LocalPoint(parameters[1],parameters[3],-parameters[2])); 00118 p[7] = det->surface().toGlobal(LocalPoint(-parameters[1],parameters[3],-parameters[2])); 00119 } 00120 if (dynamic_cast<const RectangularPlaneBounds *> (b)) 00121 { 00122 // Rectangular 00123 float length = det->surface().bounds().length(); 00124 float width = det->surface().bounds().width(); 00125 float thickness = det->surface().bounds().thickness(); 00126 00127 p[0] = det->surface().toGlobal(LocalPoint(width/2,length/2,thickness/2)); 00128 p[1] = det->surface().toGlobal(LocalPoint(width/2,-length/2,thickness/2)); 00129 p[2] = det->surface().toGlobal(LocalPoint(-width/2,length/2,thickness/2)); 00130 p[3] = det->surface().toGlobal(LocalPoint(-width/2,-length/2,thickness/2)); 00131 p[4] = det->surface().toGlobal(LocalPoint(width/2,length/2,-thickness/2)); 00132 p[5] = det->surface().toGlobal(LocalPoint(width/2,-length/2,-thickness/2)); 00133 p[6] = det->surface().toGlobal(LocalPoint(-width/2,length/2,-thickness/2)); 00134 p[7] = det->surface().toGlobal(LocalPoint(-width/2,-length/2,-thickness/2)); 00135 } 00136 icorner[FRONT_1] = IgV3d(static_cast<double>(p[0].x()/100.0), static_cast<double>(p[0].y()/100.0), static_cast<double>(p[0].z()/100.0)); 00137 icorner[FRONT_2] = IgV3d(static_cast<double>(p[1].x()/100.0), static_cast<double>(p[1].y()/100.0), static_cast<double>(p[1].z()/100.0)); 00138 icorner[FRONT_3] = IgV3d(static_cast<double>(p[2].x()/100.0), static_cast<double>(p[2].y()/100.0), static_cast<double>(p[2].z()/100.0)); 00139 icorner[FRONT_4] = IgV3d(static_cast<double>(p[3].x()/100.0), static_cast<double>(p[3].y()/100.0), static_cast<double>(p[3].z()/100.0)); 00140 icorner[BACK_1] = IgV3d(static_cast<double>(p[4].x()/100.0), static_cast<double>(p[4].y()/100.0), static_cast<double>(p[4].z()/100.0)); 00141 icorner[BACK_2] = IgV3d(static_cast<double>(p[5].x()/100.0), static_cast<double>(p[5].y()/100.0), static_cast<double>(p[5].z()/100.0)); 00142 icorner[BACK_3] = IgV3d(static_cast<double>(p[6].x()/100.0), static_cast<double>(p[6].y()/100.0), static_cast<double>(p[6].z()/100.0)); 00143 icorner[BACK_4] = IgV3d(static_cast<double>(p[7].x()/100.0), static_cast<double>(p[7].y()/100.0), static_cast<double>(p[7].z()/100.0)); 00144 } 00145 }
const std::string VisEventSetup::otherSubDetName | ( | HcalOtherSubdetector | key | ) | [private] |
Definition at line 404 of file VisEventSetup.cc.
References HcalCalibration, and HcalOtherEmpty.
00405 { 00406 std::map<HcalOtherSubdetector, std::string> type; 00407 00408 type [HcalOtherEmpty] = "HcalOtherEmpty"; 00409 type [HcalCalibration] = "HcalCalibration"; 00410 00411 return type [key]; 00412 }
const std::string VisEventSetup::subDetName | ( | HcalSubdetector | key | ) | [private] |
Definition at line 388 of file VisEventSetup.cc.
References HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalOther, HcalOuter, and HcalTriggerTower.
00389 { 00390 std::map<HcalSubdetector, std::string> type; 00391 00392 type [HcalEmpty] = "HcalEmpty"; 00393 type [HcalBarrel] = "HcalBarrel"; 00394 type [HcalEndcap] = "HcalEndcap"; 00395 type [HcalOuter] = "HcalOuter"; 00396 type [HcalForward] = "HcalForward"; 00397 type [HcalTriggerTower] = "HcalTriggerTower"; 00398 type [HcalOther] = "HcalOther"; 00399 00400 return type [key]; 00401 }
edm::ESHandle<CaloGeometry> VisEventSetup::caloGeom_ [private] |
bool VisEventSetup::caloGeomCanged_ [private] |
Definition at line 64 of file VisEventSetup.h.
edm::ESHandle<CSCGeometry> VisEventSetup::cscGeom_ [private] |
edm::ESHandle<DTGeometry> VisEventSetup::dtGeom_ [private] |
edm::ESHandle<MagneticField> VisEventSetup::field_ [private] |
bool VisEventSetup::fieldGeomCanged_ [private] |
Definition at line 66 of file VisEventSetup.h.
bool VisEventSetup::globalTrackingGeomCanged_ [private] |
Definition at line 62 of file VisEventSetup.h.
bool VisEventSetup::muonGeomCanged_ [private] |
Definition at line 65 of file VisEventSetup.h.
edm::ESHandle<RPCGeometry> VisEventSetup::rpcGeom_ [private] |
bool VisEventSetup::trackerGeomCanged_ [private] |
Definition at line 63 of file VisEventSetup.h.
Definition at line 80 of file VisEventSetup.h.
Definition at line 76 of file VisEventSetup.h.