|
| Imp (MuonChamberProjectionHelper *tc, StoreGateSvc *ds) |
|
bool | ensureInited () |
|
bool | init () |
|
bool | nameIsMDTChamber (const std::string &n) |
|
bool | getMDTChamberVolInfo (const GeoPVConstLink &mdtChamber, ChamberInfoMapItr &itChamberInfo, bool silent=false) |
|
void | getMDTChamberXAndZ (ChamberInfoMapItr &itChamberInfo, double &trdX, double &trdZ) |
|
double | pointToPlaneDistAlongLine (const Amg::Vector3D &point, const Amg::Vector3D &lineDirection, const Amg::Vector3D &planePoint, const Amg::Vector3D &planeNormal) |
|
void | projectXZPointToTrdAlongYAxis (const double &x, const double &z, const GeoTrd *trd, Amg::Vector3D &firstEndWall_point, Amg::Vector3D &secondEndWall_point) |
|
bool | clip2DLineSegmentToRectangle (const double &rectX, const double &rectY, double &x0, double &y0, double &x1, double &y1) |
|
const GeoTrd * | findTRDInShape (const GeoShape *shape) |
|
◆ ChamberInfoMapItr
◆ Imp()
◆ clip2DLineSegmentToRectangle()
bool MuonChamberProjectionHelper::Imp::clip2DLineSegmentToRectangle |
( |
const double & |
rectX, |
|
|
const double & |
rectY, |
|
|
double & |
x0, |
|
|
double & |
y0, |
|
|
double & |
x1, |
|
|
double & |
y1 |
|
) |
| |
Definition at line 523 of file MuonChamberProjectionHelper.cxx.
526 if ( fabs(x0)<=rectX && fabs(y0)<=rectY ) {
527 if ( fabs(
x1)>rectX || fabs(
y1)>rectY ) {
530 theclass->
message(
"MuonChamberProjectionHelper Error: Should never happen (1)");
533 if ( fabs(
x1)<=rectX && fabs(
y1)<=rectY ) {
536 theclass->
message(
"MuonChamberProjectionHelper Error: Should never happen (2)");
548 theclass->
message(
"MuonChamberProjectionHelper Error: Should never happen (3)");
◆ constrainPointToRectangleAlongLine()
bool MuonChamberProjectionHelper::Imp::constrainPointToRectangleAlongLine |
( |
const double & |
trdX, |
|
|
const double & |
trdZ, |
|
|
const double & |
x0, |
|
|
const double & |
z0, |
|
|
double & |
x1, |
|
|
double & |
z1 |
|
) |
| |
|
static |
◆ ensureInited()
bool MuonChamberProjectionHelper::Imp::ensureInited |
( |
| ) |
|
◆ findTRDInShape()
const GeoTrd* MuonChamberProjectionHelper::Imp::findTRDInShape |
( |
const GeoShape * |
shape | ) |
|
|
inline |
Definition at line 85 of file MuonChamberProjectionHelper.cxx.
87 if (shape->typeID()==GeoTrd::getClassTypeID())
88 return static_cast<const GeoTrd*
>(shape);
89 if (shape->typeID() == GeoShapeShift::getClassTypeID() ) {
90 const GeoShapeShift* theShift =
static_cast<const GeoShapeShift*
>(shape);
93 if (shape->typeID() == GeoShapeSubtraction::getClassTypeID() ) {
94 const GeoShapeSubtraction* theSubtraction =
static_cast<const GeoShapeSubtraction*
>(shape);
98 if (shape->typeID() == GeoShapeUnion::getClassTypeID() ) {
99 const GeoShapeUnion* theUnion =
static_cast<const GeoShapeUnion*
>(shape);
103 if (shape->typeID() == GeoShapeIntersection::getClassTypeID() ) {
104 const GeoShapeIntersection* theIntersection =
static_cast<const GeoShapeIntersection*
>(shape);
◆ getMDTChamberVolInfo()
bool MuonChamberProjectionHelper::Imp::getMDTChamberVolInfo |
( |
const GeoPVConstLink & |
mdtChamber, |
|
|
ChamberInfoMapItr & |
itChamberInfo, |
|
|
bool |
silent = false |
|
) |
| |
◆ getMDTChamberXAndZ()
void MuonChamberProjectionHelper::Imp::getMDTChamberXAndZ |
( |
ChamberInfoMapItr & |
itChamberInfo, |
|
|
double & |
trdX, |
|
|
double & |
trdZ |
|
) |
| |
Definition at line 359 of file MuonChamberProjectionHelper.cxx.
361 const GeoTrd * trd = itChamberInfo->second.trd;
362 trdX = trd->getXHalfLength1();
363 trdZ = trd->getZHalfLength();
364 if ( trdX != trd->getXHalfLength2() ) {
365 theclass->
message(
"MuonChamberProjectionHelper Warning: x1!=x2 in GeoTrd shape. Clippings etc. will be to a too large surface.");
366 if ( trdX < trd->getXHalfLength2() )
367 trdX = trd->getXHalfLength2();
◆ init()
bool MuonChamberProjectionHelper::Imp::init |
( |
| ) |
|
Definition at line 185 of file MuonChamberProjectionHelper.cxx.
200 if (!sgaccess->retrieve( theExpt,
"ATLAS" )) {
202 " the ATLAS GeoModelExperiment from detector store.");
209 GeoVolumeCursor av(world);
210 const GeoLogVol * logvol(0);
211 const GeoShape * shape(0);
212 while (!av.atEnd()) {
214 if (av.getName()!=
"Muon") {
219 GeoVolumeCursor av2(av.getVolume());
220 while (!av2.atEnd()) {
222 logvol = av2.getVolume()->getLogVol();
224 theclass->
message(
"MuonChamberProjectionHelper Error: Chamber has null logvol");
228 shape = logvol->getShape();
230 theclass->
message(
"MuonChamberProjectionHelper Error: Chamber has null shape");
237 if ( trd->getZHalfLength()>0.0
238 && trd->getXHalfLength1() > 0.0
239 && trd->getXHalfLength2() > 0.0
240 && trd->getYHalfLength1() > 0.0
241 && trd->getYHalfLength2() > 0.0 ) {
244 mdtchambervolinfo.insert(std::pair<const GeoPVConstLink,MDTChamberInfo>( av2.getVolume(), Imp::MDTChamberInfo(toptransform * geovolume_transf, trd) ));
246 theclass->
message(
"MuonChamberProjectionHelper Error: Chamber trd has non-positive shape parameters!");
249 theclass->
message(
"MuonChamberProjectionHelper Error: Chamber shape is not a GeoTrd, and is not a boolean with a Trd somewhere");
258 theclass->
message(
"MuonChamberProjectionHelper Error: Found no MDT chambers");
◆ nameIsMDTChamber()
bool MuonChamberProjectionHelper::Imp::nameIsMDTChamber |
( |
const std::string & |
n | ) |
|
|
inline |
◆ pointToPlaneDistAlongLine()
Definition at line 317 of file MuonChamberProjectionHelper.cxx.
321 double denominator(planeNormal.dot(lineDirection)*lineDirection.mag());
323 theclass->
message(
"MuonChamberProjectionHelper Error: pointToPlaneDistAlongLine is undefined!");
326 double numerator(planeNormal.x() * (planePoint.x() - point.x())
327 + planeNormal.y() * (planePoint.y() - point.y())
328 + planeNormal.z() * (planePoint.z() - point.z()));
◆ projectXZPointToTrdAlongYAxis()
Definition at line 418 of file MuonChamberProjectionHelper.cxx.
421 const double epsilon(0.1);
422 const double trdY1(trd->getYHalfLength1()), trdY2(trd->getYHalfLength2());
423 const double y( trdY1 + 0.5*(1.0+
z/trd->getZHalfLength())*(trdY2-trdY1) );
◆ detectorStore
StoreGateSvc* MuonChamberProjectionHelper::Imp::detectorStore |
◆ initattempted
bool MuonChamberProjectionHelper::Imp::initattempted |
◆ initsucceeded
bool MuonChamberProjectionHelper::Imp::initsucceeded |
◆ itLastMDTChamberLookedUp
std::map<GeoPVConstLink,MDTChamberInfo>::iterator MuonChamberProjectionHelper::Imp::itLastMDTChamberLookedUp |
◆ mdtchambervolinfo
std::map<GeoPVConstLink,MDTChamberInfo> MuonChamberProjectionHelper::Imp::mdtchambervolinfo |
◆ theclass
The documentation for this class was generated from the following file: