|  | ATLAS Offline Software
    | 
 
 
 
#include <ALFA_DetectorFactory.h>
|  | 
| const ALFA_DetectorFactory & | operator= (const ALFA_DetectorFactory &right) | 
|  | 
|  | ALFA_DetectorFactory (const ALFA_DetectorFactory &right) | 
|  | 
| void | SaveGeometry () | 
|  | 
| void | DefineMaterials (StoredMaterialManager *pMaterialManager) | 
|  | 
| void | ConstructUFiberCladdings (const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform) | 
|  | 
| void | ConstructVFiberCladdings (const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform) | 
|  | 
| void | ConstructODFiberCladdings (const eRPotName eRPName, GeoFullPhysVol *pPhysMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform) | 
|  | 
| void | ConstructODFibers00 (const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding) | 
|  | 
| void | ConstructODFibers01 (const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding) | 
|  | 
| void | SelectRPots () | 
|  | 
| void | CreateAxes (GeoPhysVol *pMotherVolume) | 
|  | 
| void | ConstructAlfaStations (std::map< eAStationName, ALFAPHYSVOLUME > *pmapActiveStations, GeoPhysVol *pWorld) | 
|  | 
| void | ConstructBeampipe (GeoPhysVol *pWorld) | 
|  | 
| void | AddBeamPipeInStation (GeoFullPhysVol *pPhysStation, const char *pszStationLabel) | 
|  | 
| void | AddGlobalVacuumSensorInStation (GeoFullPhysVol *pPhysStation, eAStationName eStatName) | 
|  | 
| GeoShape * | CreateSolidRP () | 
|  | 
| GeoShape * | CreateSolidAir () | 
|  | 
| GeoShape * | CreateSolidTrigger () | 
|  | 
| GeoShape * | CreateSolidRPSupport () | 
|  | 
| GeoShape * | CreateSolidG10Shapes () | 
|  | 
| std::map< int, GeoShape * > * | CreateSolidTiPlates () | 
|  | 
| std::map< int, GeoShape * > * | CreateSolidODPlates () | 
|  | 
| HepGeom::Transform3D | UserTransformInDetector (eRPotName eRPName) | 
|  | 
| HepGeom::Transform3D | UserTransformInStation (eRPotName eRPName) | 
|  | 
| HepGeom::Point3D< double > | Point3DInDetector (eRPotName eRPName) | 
|  | 
Definition at line 75 of file ALFA_DetectorFactory.h.
 
◆ ALFA_DetectorFactory() [1/2]
◆ ~ALFA_DetectorFactory()
      
        
          | ALFA_DetectorFactory::~ALFA_DetectorFactory | ( |  | ) |  | 
      
 
 
◆ ALFA_DetectorFactory() [2/2]
◆ AddBeamPipeInStation()
  
  | 
        
          | void ALFA_DetectorFactory::AddBeamPipeInStation | ( | GeoFullPhysVol * | pPhysStation, |  
          |  |  | const char * | pszStationLabel |  
          |  | ) |  |  |  | private | 
 
Definition at line 416 of file ALFA_DetectorFactory.cxx.
  422     double fZLength=0.5*(fzs-fzd);
 
  423     double fZPos=0.5*fzd+0.5*fZLength;
 
  425     sprintf(szLabel,
"%s_LogIBP",pszStationLabel);
 
  427     GeoLogVol* pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  428     GeoFullPhysVol* pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  430     sprintf(szLabel,
"%s_IBP01",pszStationLabel);
 
  431     pPhysStation->add(
new GeoNameTag(szLabel));
 
  432     pPhysStation->add(
new GeoTransform(GeoTrf::TranslateZ3D(fZPos)));
 
  433     pPhysStation->add(pPhysTube);
 
  435     sprintf(szLabel,
"%s_IBP02",pszStationLabel);
 
  436     pPhysStation->add(
new GeoNameTag(szLabel));
 
  437     pPhysStation->add(
new GeoTransform(GeoTrf::TranslateZ3D(-fZPos)));
 
  438     pPhysStation->add(pPhysTube);
 
 
 
 
◆ AddGlobalVacuumSensorInStation()
  
  | 
        
          | void ALFA_DetectorFactory::AddGlobalVacuumSensorInStation | ( | GeoFullPhysVol * | pPhysStation, |  
          |  |  | eAStationName | eStatName |  
          |  | ) |  |  |  | private | 
 
Definition at line 441 of file ALFA_DetectorFactory.cxx.
  449     sprintf(szLabel,
"%s_GVS",
m_pGeoReader->GetAStationLabel(eStatName));
 
  452     GeoLogVol* pLogGVS=
new GeoLogVol(szLabel,pSolGVS,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  453     GeoFullPhysVol* pPhysGVS=
new GeoFullPhysVol(pLogGVS);
 
  455     GeoTrf::TranslateZ3D TransGVS(fZOffset);
 
  456     pPhysStation->add(
new GeoNameTag(szLabel));
 
  457     pPhysStation->add(
new GeoTransform(TransGVS));
 
  458     pPhysStation->add(pPhysGVS);
 
 
 
 
◆ ConstructAlfaStations()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructAlfaStations | ( | std::map< eAStationName, ALFAPHYSVOLUME > * | pmapActiveStations, |  
          |  |  | GeoPhysVol * | pWorld |  
          |  | ) |  |  |  | private | 
 
Definition at line 461 of file ALFA_DetectorFactory.cxx.
  470     GeoFullPhysVol* pPhysAlfaBox=NULL;
 
  473     GeoLogVol* pLogAlfaBox=
new GeoLogVol(
"ALFA",pSolidAlfaBox,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  477     m_pGeoReader->GetASPosParams(&AStationParams,eAStation);
 
  478     sprintf(szLabel,
"ALFA_%s",AStationParams.
szLabel);
 
  480     pPhysAlfaBox=
new GeoFullPhysVol(pLogAlfaBox);
 
  482     pWorld->add(
new GeoNameTag(szLabel));
 
  484     pWorld->add(pPhysAlfaBox);
 
  491     pmapActiveStations->insert(pair<eAStationName,ALFAPHYSVOLUME>(eAStation,APhysVolume));
 
  495     m_pGeoReader->GetASPosParams(&AStationParams,eAStation);
 
  496     sprintf(szLabel,
"ALFA_%s",AStationParams.
szLabel);
 
  498     pPhysAlfaBox=
new GeoFullPhysVol(pLogAlfaBox);
 
  500     pWorld->add(
new GeoNameTag(szLabel));
 
  502     pWorld->add(pPhysAlfaBox);
 
  509     pmapActiveStations->insert(pair<eAStationName,ALFAPHYSVOLUME>(eAStation,APhysVolume));
 
  513     m_pGeoReader->GetASPosParams(&AStationParams,eAStation);
 
  514     sprintf(szLabel,
"ALFA_%s",AStationParams.
szLabel);
 
  516     pPhysAlfaBox=
new GeoFullPhysVol(pLogAlfaBox);
 
  518     pWorld->add(
new GeoNameTag(szLabel));
 
  520     pWorld->add(pPhysAlfaBox);
 
  527     pmapActiveStations->insert(pair<eAStationName,ALFAPHYSVOLUME>(eAStation,APhysVolume));
 
  531     m_pGeoReader->GetASPosParams(&AStationParams,eAStation);
 
  532     sprintf(szLabel,
"ALFA_%s",AStationParams.
szLabel);
 
  534     pPhysAlfaBox=
new GeoFullPhysVol(pLogAlfaBox);
 
  536     pWorld->add(
new GeoNameTag(szLabel));
 
  538     pWorld->add(pPhysAlfaBox);
 
  545     pmapActiveStations->insert(pair<eAStationName,ALFAPHYSVOLUME>(eAStation,APhysVolume));
 
 
 
 
◆ ConstructBeampipe()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructBeampipe | ( | GeoPhysVol * | pWorld | ) |  |  | private | 
 
Definition at line 548 of file ALFA_DetectorFactory.cxx.
  550     char szLabel[32]{}, szLabel2[32]{};
 
  551     double fInnerTubeHLength;
 
  552     GeoTube* pTube, *pTube2;
 
  553     GeoLogVol* pLogTube, *pLogTube2;
 
  554     GeoFullPhysVol* pPhysTube, *pPhysTube2;
 
  560     strcpy(szLabel,
"ALFA_Beampipe01");
 
  561     strcpy(szLabel2,
"ALFA_Beampipe01Fill");
 
  565     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  566     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  567     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  568     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  571     pWorld->add(
new GeoNameTag(szLabel));
 
  573     pWorld->add(pPhysTube);
 
  575     pWorld->add(
new GeoNameTag(szLabel2));
 
  577     pWorld->add(pPhysTube2);
 
  581     strcpy(szLabel,
"ALFA_Beampipe02");
 
  582     strcpy(szLabel2,
"ALFA_Beampipe02Fill");
 
  588     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  589     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  590     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  591     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  594     pWorld->add(
new GeoNameTag(szLabel));
 
  596     pWorld->add(pPhysTube);
 
  598     pWorld->add(
new GeoNameTag(szLabel2));
 
  600     pWorld->add(pPhysTube2);
 
  604     strcpy(szLabel,
"ALFA_Beampipe03");
 
  605     strcpy(szLabel2,
"ALFA_Beampipe03Fill");
 
  609     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  610     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  611     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  612     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  615     pWorld->add(
new GeoNameTag(szLabel));
 
  617     pWorld->add(pPhysTube);
 
  619     pWorld->add(
new GeoNameTag(szLabel2));
 
  621     pWorld->add(pPhysTube2);
 
  625     strcpy(szLabel,
"ALFA_Beampipe04");
 
  626     strcpy(szLabel2,
"ALFA_Beampipe04Fill");
 
  630     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  631     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  632     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  633     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  636     pWorld->add(
new GeoNameTag(szLabel));
 
  638     pWorld->add(pPhysTube);
 
  640     pWorld->add(
new GeoNameTag(szLabel2));
 
  642     pWorld->add(pPhysTube2);
 
  646     strcpy(szLabel,
"ALFA_Beampipe05");
 
  647     strcpy(szLabel2,
"ALFA_Beampipe05Fill");
 
  653     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  654     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  655     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  656     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  659     pWorld->add(
new GeoNameTag(szLabel));
 
  661     pWorld->add(pPhysTube);
 
  663     pWorld->add(
new GeoNameTag(szLabel2));
 
  665     pWorld->add(pPhysTube2);
 
  669     strcpy(szLabel,
"ALFA_Beampipe06");
 
  670     strcpy(szLabel2,
"ALFA_Beampipe06Fill");
 
  674     pLogTube=
new GeoLogVol(szLabel,pTube,
m_MapMaterials[
string(
"Steel")]);
 
  675     pLogTube2=
new GeoLogVol(szLabel2,pTube2,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  676     pPhysTube=
new GeoFullPhysVol(pLogTube);
 
  677     pPhysTube2=
new GeoFullPhysVol(pLogTube2);
 
  680     pWorld->add(
new GeoNameTag(szLabel));
 
  682     pWorld->add(pPhysTube);
 
  684     pWorld->add(
new GeoNameTag(szLabel2));
 
  686     pWorld->add(pPhysTube2);
 
 
 
 
◆ ConstructODFiberCladdings()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructODFiberCladdings | ( | const eRPotName | eRPName, |  
          |  |  | GeoFullPhysVol * | pPhysMotherVolume, |  
          |  |  | const HepGeom::Transform3D & | MotherTransform, |  
          |  |  | GeoAlignableTransform * | pDetTransform |  
          |  | ) |  |  |  | private | 
 
Definition at line 1159 of file ALFA_DetectorFactory.cxx.
 1172     GeoShapeShift * mowe1 = 
new GeoShapeShift(OD_Cladbox3, OD_CladMove1);
 
 1173     GeoShapeSubtraction * OD_Cladsemi1 = 
new GeoShapeSubtraction(OD_Cladtube1, mowe1);
 
 1176     GeoShapeShift * mowe2 = 
new GeoShapeShift(OD_Cladbox4, OD_CladMove2);
 
 1177     GeoShapeSubtraction * OD_Cladsemi2 = 
new GeoShapeSubtraction(OD_Cladsemi1, mowe2);
 
 1180     GeoShapeShift * mowe3 = 
new GeoShapeShift(OD_Cladbox1, OD_CladMov3);
 
 1181     GeoShapeUnion * OD_Cladsemi3 = 
new GeoShapeUnion(OD_Cladsemi2, mowe3);
 
 1184     GeoShapeShift * mowe4 = 
new GeoShapeShift(OD_Cladbox2, OD_CladMov4);
 
 1185     GeoShapeUnion * shapeOD_Cladding = 
new GeoShapeUnion(OD_Cladsemi3, mowe4);
 
 1188     GeoLogVol* logOD_Cladding = 
new GeoLogVol(
"logOD_Cladding", shapeOD_Cladding, 
m_MapMaterials[
string(
"PMMA")]);
 
 1190     GeoFullPhysVol* physOD_CladdingU_0=NULL;
 
 1191     GeoFullPhysVol* physOD_CladdingU_1=NULL;
 
 1192     GeoFullPhysVol* physOD_CladdingV_0=NULL;
 
 1193     GeoFullPhysVol* physOD_CladdingV_1=NULL;
 
 1201         physOD_CladdingU_0 = 
new GeoFullPhysVol(logOD_Cladding);
 
 1205         pPhysMotherVolume->add(pDetTransform);
 
 1207         sprintf(szLabel,
"physODclad[%d][0][%d]",eRPName,
i);
 
 1208         pPhysMotherVolume->add(
new GeoNameTag(szLabel));
 
 1209         pPhysMotherVolume->add(physOD_CladdingU_0);
 
 1212         physOD_CladdingU_1 = 
new GeoFullPhysVol(logOD_Cladding);
 
 1216         pPhysMotherVolume->add(pDetTransform);
 
 1218         sprintf(szLabel,
"physODclad[%d][1][%d]",eRPName,
i);
 
 1219         pPhysMotherVolume->add(
new GeoNameTag(szLabel));
 
 1220         pPhysMotherVolume->add(physOD_CladdingU_1);
 
 1223         physOD_CladdingV_0 = 
new GeoFullPhysVol(logOD_Cladding);
 
 1227         pPhysMotherVolume->add(pDetTransform);
 
 1229         sprintf(szLabel,
"physODclad[%d][2][%d]",eRPName,
i);
 
 1230         pPhysMotherVolume->add(
new GeoNameTag(szLabel));
 
 1231         pPhysMotherVolume->add(physOD_CladdingV_0);
 
 1234         physOD_CladdingV_1 = 
new GeoFullPhysVol(logOD_Cladding);
 
 1238         pPhysMotherVolume->add(pDetTransform);
 
 1240         sprintf(szLabel,
"physODclad[%d][3][%d]",eRPName,
i);
 
 1241         pPhysMotherVolume->add(
new GeoNameTag(szLabel));
 
 1242         pPhysMotherVolume->add(physOD_CladdingV_1);
 
 
 
 
◆ ConstructODFibers00()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructODFibers00 | ( | const eRPotName | eRPName, |  
          |  |  | const int | iODPlate, |  
          |  |  | eFiberType | eFType, |  
          |  |  | GeoFullPhysVol * | pMotherVolume, |  
          |  |  | const HepGeom::Transform3D & | MotherTransform, |  
          |  |  | const HepGeom::Transform3D & | TransODCladding |  
          |  | ) |  |  |  | private | 
 
Definition at line 1246 of file ALFA_DetectorFactory.cxx.
 1263         GeoShapeShift * mowe1 = 
new GeoShapeShift(OD_Fiberbox3, OD_FiberMove1);
 
 1264         GeoShapeSubtraction * OD_Fibersemi1 = 
new GeoShapeSubtraction(OD_Fibertube1, mowe1);
 
 1267         GeoShapeShift * mowe2 = 
new GeoShapeShift(OD_Fiberbox4, OD_FiberMove2);
 
 1268         GeoShapeSubtraction * OD_Fibersemi2 = 
new GeoShapeSubtraction(OD_Fibersemi1, mowe2);
 
 1271         GeoShapeShift * mowe4 = 
new GeoShapeShift(OD_Fiberbox2, OD_FiberMov4);
 
 1272         GeoShapeUnion * shapeOD_Fiber = 
new GeoShapeUnion(OD_Fibersemi2, mowe4);
 
 1274         GeoLogVol* logOD_Fiber = 
new GeoLogVol(
"logOD_Fiber", shapeOD_Fiber, 
m_MapMaterials[
string(
"Polystyrene")]);
 
 1275         GeoLogVol* logOD_FiberActive = 
new GeoLogVol(
"logOD_FiberActive", OD_Fiberbox1, 
m_MapMaterials[
string(
"Polystyrene")]);
 
 1278         double fAngle = 0.0;
 
 1284             sprintf(szLabel,
"ODFiberU0Active[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1290             sprintf(szLabel,
"ODFiberV0Active[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1293         TransODFiber=HepGeom::Translate3D(4*
CLHEP::mm, fYPos, 0.0*
CLHEP::mm)*HepGeom::RotateZ3D(fAngle);
 
 1296         GeoPhysVol* physOD_FiberActive = 
new GeoPhysVol(logOD_FiberActive);
 
 1298         pMotherVolume->add(
new GeoNameTag(szLabel));
 
 1299         pMotherVolume->add(physOD_FiberActive);
 
 1303         HepGeom::Point3D<float> TransPoint=TransTotal*HepGeom::Point3D<float>(0.0,0.0,0.0);
 
 1304         HepGeom::Vector3D<float> TransVector=TransTotal*HepGeom::Vector3D<float>(1.0,0.0,0.0);
 
 1305         float fSlope=
tan(TransVector.phi());
 
 1345         if (eFType==
EFT_ODFIBERU0) sprintf(szLabel,
"ODFiberU0[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1346         else if (eFType==
EFT_ODFIBERV0) sprintf(szLabel,
"ODFiberV0[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1347         GeoPhysVol* physOD_Fiber = 
new GeoPhysVol(logOD_Fiber);
 
 1349         pMotherVolume->add(
new GeoNameTag(szLabel));
 
 1350         pMotherVolume->add(physOD_Fiber);
 
 
 
 
◆ ConstructODFibers01()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructODFibers01 | ( | const eRPotName | eRPName, |  
          |  |  | const int | iODPlate, |  
          |  |  | eFiberType | eFType, |  
          |  |  | GeoFullPhysVol * | pMotherVolume, |  
          |  |  | const HepGeom::Transform3D & | MotherTransform, |  
          |  |  | const HepGeom::Transform3D & | TransODCladding |  
          |  | ) |  |  |  | private | 
 
Definition at line 1354 of file ALFA_DetectorFactory.cxx.
 1369         GeoShapeShift * mowe1 = 
new GeoShapeShift(OD_Fiberbox3, OD_FiberMove1);
 
 1370         GeoShapeSubtraction * OD_Fibersemi1 = 
new GeoShapeSubtraction(OD_Fibertube1, mowe1);
 
 1373         GeoShapeShift * mowe2 = 
new GeoShapeShift(OD_Fiberbox4, OD_FiberMove2);
 
 1374         GeoShapeSubtraction * OD_Fibersemi2 = 
new GeoShapeSubtraction(OD_Fibersemi1, mowe2);
 
 1377         GeoShapeShift * mowe4 = 
new GeoShapeShift(OD_Fiberbox2, OD_FiberMov4);
 
 1378         GeoShapeUnion * shapeOD_Fiber = 
new GeoShapeUnion(OD_Fibersemi2, mowe4);
 
 1380         GeoLogVol* logOD_Fiber = 
new GeoLogVol(
"logOD_Fiber", shapeOD_Fiber, 
m_MapMaterials[
string(
"Polystyrene")]);
 
 1381         GeoLogVol* logOD_FiberActive = 
new GeoLogVol(
"logOD_FiberActive", OD_Fiberbox1, 
m_MapMaterials[
string(
"Polystyrene")]);
 
 1384         double fAngle = 0.0;
 
 1393             sprintf(szLabel,
"ODFiberU1Active[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1404             sprintf(szLabel,
"ODFiberV1Active[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1407         TransODFiber=HepGeom::Translate3D(4*
CLHEP::mm, fYPos, 0*
CLHEP::mm)*HepGeom::RotateZ3D(fAngle);
 
 1410         GeoPhysVol* physOD_FiberActive = 
new GeoPhysVol(logOD_FiberActive);
 
 1412         pMotherVolume->add(
new GeoNameTag(szLabel));
 
 1413         pMotherVolume->add(physOD_FiberActive);
 
 1417         HepGeom::Point3D<float> TransPoint=TransTotal*HepGeom::Point3D<float>(0.0,0.0,0.0);
 
 1418         HepGeom::Vector3D<float> TransVector=TransTotal*HepGeom::Vector3D<float>(1.0,0.0,0.0);
 
 1419         float fSlope=
tan(TransVector.phi());
 
 1435         if (eFType==
EFT_ODFIBERU1) sprintf(szLabel,
"ODFiberU1[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1436         else if (eFType==
EFT_ODFIBERV1) sprintf(szLabel,
"ODFiberV1[%d][%d][%d]",eRPName,iODPlate+1,
i+1);
 
 1437         GeoPhysVol* physOD_Fiber = 
new GeoPhysVol(logOD_Fiber);
 
 1439         pMotherVolume->add(
new GeoNameTag(szLabel));
 
 1440         pMotherVolume->add(physOD_Fiber);
 
 
 
 
◆ ConstructUFiberCladdings()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructUFiberCladdings | ( | const eRPotName | eRPName, |  
          |  |  | GeoFullPhysVol * | pMotherVolume, |  
          |  |  | const HepGeom::Transform3D & | MotherTransform, |  
          |  |  | GeoAlignableTransform * | pDetTransform |  
          |  | ) |  |  |  | private | 
 
Definition at line 1448 of file ALFA_DetectorFactory.cxx.
 1458     GeoBox *ALFA_Cladbox1, *ALFA_Cladbox2;
 
 1459     GeoShapeSubtraction* shapeALFA_Clad;
 
 1466     GeoShapeShift* mowe1;
 
 1467     GeoLogVol* pLogCladdingU;
 
 1488         mowe1=
new GeoShapeShift(ALFA_Cladbox2,Clad_Move1);
 
 1489         shapeALFA_Clad = 
new GeoShapeSubtraction(ALFA_Cladbox1,mowe1);
 
 1490         pLogCladdingU = 
new GeoLogVol(
"logALFA_CladdingU",shapeALFA_Clad, 
m_MapMaterials[
string(
"PMMA")]);
 
 1492         sprintf(strLabel,
"ALFA_CladdingU[%d][%d]",eRPName,
i);
 
 1495         physALFA_CladdingU[
i] = 
new GeoFullPhysVol(pLogCladdingU);
 
 1496         pMotherVolume->add(
new GeoNameTag(strLabel));
 
 1497         pMotherVolume->add(pDetTransform);
 
 1499         pMotherVolume->add(physALFA_CladdingU[
i]);
 
 1512     GeoFullPhysVol* physiFibU;
 
 1513     GeoLogVol* logALFA_FiberU;
 
 1534             double fXPos=
m_pGeoReader->GetUFiberCentreXPos(eRPName, 
i+1, j+1);
 
 1535             double fAngle=
m_pGeoReader->GetUFiberAngle(eRPName, 
i+1, j+1);
 
 1536             double fDx=fXPos-(+15.75-0.5*(j))*
CLHEP::mm;
 
 1539             const GeoShapeShift* Sh6=
new GeoShapeShift(CladTrim,TrimMove);
 
 1540             const GeoShapeSubtraction* solFibU=
new GeoShapeSubtraction(Fib1,Sh6);
 
 1541             sprintf(strLabel,
"logALFA_FiberU[%d]",j+1);
 
 1542             logALFA_FiberU=
new GeoLogVol(strLabel,solFibU,
m_MapMaterials[
string(
"Polystyrene")]);
 
 1544             sprintf(strLabel,
"ALFA_FiberU[%d][%d][%d]",eRPName,
i+1,j+1);
 
 1545             TransFiber=HepGeom::Translate3D(fXPos, 0*
CLHEP::mm, 0*
CLHEP::mm)*HepGeom::RotateZ3D(-fAngle);
 
 1546             physiFibU=
new GeoFullPhysVol(logALFA_FiberU);
 
 1547             physALFA_CladdingU[
i]->add(
new GeoNameTag(strLabel));
 
 1549             physALFA_CladdingU[
i]->add(physiFibU);
 
 1553             HepGeom::Point3D<float> TransPoint=TransTotal*HepGeom::Point3D<float>(0.0,0.0,0.0);
 
 1554             HepGeom::Vector3D<float> TransVector=TransTotal*HepGeom::Vector3D<float>(0.0,1.0,0.0);
 
 1555             float fSlope=
tan(TransVector.phi());
 
 1557             m_pGeoReader->SetUFiberPositionToMainReference(eRPName, 
i+1, j+1, TransPoint, fSlope);
 
 
 
 
◆ ConstructVFiberCladdings()
  
  | 
        
          | void ALFA_DetectorFactory::ConstructVFiberCladdings | ( | const eRPotName | eRPName, |  
          |  |  | GeoFullPhysVol * | pMotherVolume, |  
          |  |  | const HepGeom::Transform3D & | MotherTransform, |  
          |  |  | GeoAlignableTransform * | pDetTransform |  
          |  | ) |  |  |  | private | 
 
Definition at line 1563 of file ALFA_DetectorFactory.cxx.
 1571     GeoShapeShift* mowe1;
 
 1572     GeoBox *ALFA_Cladbox1, *ALFA_Cladbox2;
 
 1573     GeoShapeSubtraction* shapeALFA_Clad;
 
 1580     GeoLogVol* pLogCladdingV;
 
 1599         mowe1=
new GeoShapeShift(ALFA_Cladbox2,Clad_Move1);
 
 1600         shapeALFA_Clad = 
new GeoShapeSubtraction(ALFA_Cladbox1,mowe1);
 
 1601         pLogCladdingV = 
new GeoLogVol(
"logALFA_CladdingV",shapeALFA_Clad, 
m_MapMaterials[
string(
"PMMA")]);
 
 1603         sprintf(strLabel,
"ALFA_CladdingV[%d][%d]",eRPName,
i);
 
 1606         physALFA_CladdingV[
i] = 
new GeoFullPhysVol(pLogCladdingV);
 
 1607         pMotherVolume->add(
new GeoNameTag(strLabel));
 
 1608         pMotherVolume->add(pDetTransform);
 
 1610         pMotherVolume->add(physALFA_CladdingV[
i]);
 
 1614     GeoFullPhysVol* physiFibV;
 
 1615     GeoLogVol* logALFA_FiberV;
 
 1636             double fXPos=
m_pGeoReader->GetVFiberCentreXPos(eRPName, 
i+1, j+1);
 
 1637             double fAngle=
m_pGeoReader->GetVFiberAngle(eRPName, 
i+1, j+1);
 
 1638             double fDx=fXPos-(+15.75-0.5*(j))*
CLHEP::mm;
 
 1641             const GeoShapeShift* Sh6=
new GeoShapeShift(CladTrim,TrimMove);
 
 1642             const GeoShapeSubtraction* solFibV=
new GeoShapeSubtraction(Fib1,Sh6);
 
 1643             sprintf(strLabel,
"logALFA_FiberV[%d]",j+1);
 
 1644             logALFA_FiberV=
new GeoLogVol(strLabel,solFibV,
m_MapMaterials[
string(
"Polystyrene")]);
 
 1646             sprintf(strLabel,
"ALFA_FiberV[%d][%d][%d]",eRPName,
i+1,j+1);
 
 1647             TransFiber=HepGeom::Translate3D(fXPos, 0*
CLHEP::mm, 0*
CLHEP::mm)*HepGeom::RotateZ3D(-fAngle);
 
 1649             physiFibV=
new GeoFullPhysVol(logALFA_FiberV);
 
 1650             physALFA_CladdingV[
i]->add(
new GeoNameTag(strLabel));
 
 1652             physALFA_CladdingV[
i]->add(physiFibV);
 
 1657             HepGeom::Point3D<float> TransPoint=TransTotal*HepGeom::Point3D<float>(0.0,0.0,0.0);
 
 1658             HepGeom::Vector3D<float> TransVector=TransTotal*HepGeom::Vector3D<float>(0.0,1.0,0.0);
 
 1659             float fSlope=
tan(TransVector.phi());
 
 1660             m_pGeoReader->SetVFiberPositionToMainReference(eRPName, 
i+1, j+1, TransPoint, fSlope);
 
 
 
 
◆ create()
  
  | 
        
          | void ALFA_DetectorFactory::create | ( | GeoPhysVol * | pWorld | ) |  |  | virtual | 
 
Definition at line 691 of file ALFA_DetectorFactory.cxx.
  704     if (
m_pDetectorStore->retrieve(pMaterialManager, std::string(
"MATERIALS"))!=StatusCode::SUCCESS){
 
  736     GeoLogVol* pLogRPBox=NULL;
 
  737     GeoLogVol* pLogRPAir=NULL;
 
  738     GeoFullPhysVol* pPhysAlfaBox=NULL;
 
  739     GeoFullPhysVol* pPhysRPBox=NULL;
 
  740     GeoFullPhysVol* pPhysRPAir=NULL;
 
  741     HepGeom::Translate3D ObjTranslate;
 
  742     HepGeom::Rotate3D ObjRotate;
 
  744     GeoLogVol* pLogObj=NULL;
 
  745     GeoFullPhysVol* pPhysObj=NULL;
 
  751     GeoAlignableTransform* pAlTransRPBox;
 
  752     GeoAlignableTransform* pAlTransDetInRPMainPoint;
 
  756     map<eAStationName,ALFAPHYSVOLUME> mapActiveStations;
 
  765         pPhysAlfaBox=mapActiveStations[RPosParams.
eASName].pPhysVolume;
 
  766         TransAlfaBox=mapActiveStations[RPosParams.
eASName].Transform;
 
  772         sprintf(szLabel,
"LogRPBox[%02d]",eRPName);
 
  773         pLogRPBox=
new GeoLogVol(szLabel,pSolidRP,
m_MapMaterials[
string(
"Steel")]);
 
  774         pPhysRPBox=
new GeoFullPhysVol(pLogRPBox);
 
  776         sprintf(szLabel,
"RPBox[%02d]",eRPName);
 
  777         pPhysAlfaBox->add(
new GeoNameTag(szLabel));
 
  778         pPhysAlfaBox->add(pAlTransRPBox);
 
  779         pPhysAlfaBox->add(pPhysRPBox);
 
  783         sprintf(szLabel,
"LogRPAir[%02d]",eRPName);
 
  784         pLogRPAir=
new GeoLogVol(szLabel,pSolidAir,
m_MapMaterials[
string(
"std::Vacuum")]);
 
  785         pPhysRPAir=
new GeoFullPhysVol(pLogRPAir);
 
  787         sprintf(szLabel,
"RPAir[%02d]",eRPName);
 
  788         TransRPAir=HepGeom::Translate3D(0.0,0.0,0.0);
 
  789         pPhysRPBox->add(
new GeoNameTag(szLabel));
 
  791         pPhysRPBox->add(pPhysRPAir);
 
  795         sprintf(szLabel,
"LogTrigger[%02d]",eRPName);
 
  796         pLogObj=
new GeoLogVol(szLabel,pSolidTrigger,
m_MapMaterials[
string(
"PVT")]);
 
  797         pPhysObj=
new GeoFullPhysVol(pLogObj);
 
  798         sprintf(szLabel,
"Trigger[%02d]",eRPName);
 
  799         pPhysRPAir->add(
new GeoNameTag(szLabel));
 
  800         pPhysRPAir->add(pAlTransDetInRPMainPoint);
 
  802         pPhysRPAir->add(pPhysObj);
 
  806         sprintf(szLabel,
"LogRPSupport[%02d]",eRPName);
 
  807         pLogObj=
new GeoLogVol(szLabel,pSolidRPSupport,
m_MapMaterials[
string(
"Steel")]);
 
  808         pPhysObj=
new GeoFullPhysVol(pLogObj);
 
  809         sprintf(szLabel,
"RPSupport[%02d]",eRPName);
 
  810         pPhysRPAir->add(
new GeoNameTag(szLabel));
 
  811         pPhysRPAir->add(pAlTransDetInRPMainPoint);
 
  813         pPhysRPAir->add(pPhysObj);
 
  817         sprintf(szLabel,
"LogG10Substrate[%02d]",eRPName);
 
  818         pLogObj=
new GeoLogVol(szLabel,pSolidG10Shapes,
m_MapMaterials[
string(
"PMMA")]);
 
  820             pPhysObj=
new GeoFullPhysVol(pLogObj);
 
  821             sprintf(szLabel,
"G10Substrate[%02d][%d]",eRPName,
i);
 
  822             pPhysRPAir->add(
new GeoNameTag(szLabel));
 
  823             pPhysRPAir->add(pAlTransDetInRPMainPoint);
 
  825             pPhysRPAir->add(pPhysObj);
 
  830             sprintf(szLabel,
"LogRPSupport[%02d][%d]",eRPName,
i);
 
  831             pLogObj=
new GeoLogVol(szLabel,(*pMapSolidTiPlates)[
i],
m_MapMaterials[
string(
"Titanium")]);
 
  832             pPhysObj=
new GeoFullPhysVol(pLogObj);
 
  833             sprintf(szLabel,
"RPSupport[%02d][%d]",eRPName,
i);
 
  834             pPhysRPAir->add(
new GeoNameTag(szLabel));
 
  835             pPhysRPAir->add(pAlTransDetInRPMainPoint);
 
  837             pPhysRPAir->add(pPhysObj);
 
  850             sprintf(szLabel,
"LogODPlate[%02d][%d]",eRPName,
i);
 
  851             pLogObj=
new GeoLogVol(szLabel,(*pMapSolidOdPlates)[
i],
m_MapMaterials[
string(
"Titanium")]);
 
  852             pPhysObj=
new GeoFullPhysVol(pLogObj);
 
  853             sprintf(szLabel,
"ODPlate[%02d][%d]",eRPName,
i);
 
  854             pPhysRPAir->add(
new GeoNameTag(szLabel));
 
  855             pPhysRPAir->add(pAlTransDetInRPMainPoint);
 
  857             pPhysRPAir->add(pPhysObj);
 
  866         sprintf(szLabel,
"StRPBox[%02d]",eRPName);
 
  869         if(!
sc.isSuccess()) 
throw std::runtime_error(
"Cannot store alignable record");
 
  871         sprintf(szLabel,
"AlTransRPBox[%02d]",eRPName);
 
  874         if(!
sc.isSuccess()) 
throw std::runtime_error(
"Cannot store alignable record");
 
  876         sprintf(szLabel,
"AlTransDetInRPMainPoint[%02d]",eRPName);
 
  879         if(!
sc.isSuccess()) 
throw std::runtime_error(
"Cannot store alignable record");
 
  889     if(pMapSolidOdPlates) 
delete pMapSolidOdPlates;
 
  890     if(pMapSolidTiPlates) 
delete pMapSolidTiPlates;
 
 
 
 
◆ CreateAxes()
  
  | 
        
          | void ALFA_DetectorFactory::CreateAxes | ( | GeoPhysVol * | pMotherVolume | ) |  |  | private | 
 
Definition at line 380 of file ALFA_DetectorFactory.cxx.
  386     GeoLogVol* pLogBoxX=
new GeoLogVol(
"BoxX",pSolBoxX,
m_MapMaterials[
string(
"PMMA")]);
 
  387     GeoLogVol* pLogBoxY=
new GeoLogVol(
"BoxY",pSolBoxY,
m_MapMaterials[
string(
"PMMA")]);
 
  388     GeoLogVol* pLogBoxZ=
new GeoLogVol(
"BoxZ",pSolBoxZ,
m_MapMaterials[
string(
"PMMA")]);
 
  390     GeoFullPhysVol* pPhysBoxX=
new GeoFullPhysVol(pLogBoxX);
 
  391     GeoFullPhysVol* pPhysBoxY=
new GeoFullPhysVol(pLogBoxY);
 
  392     GeoFullPhysVol* pPhysBoxZ=
new GeoFullPhysVol(pLogBoxZ);
 
  394     pMotherVolume->add(
new GeoNameTag(
"BoxX"));
 
  395     pMotherVolume->add(
new GeoTransform(GeoTrf::Transform3D::Identity()));
 
  396     pMotherVolume->add(pPhysBoxX);
 
  398     pMotherVolume->add(
new GeoNameTag(
"BoxY"));
 
  399     pMotherVolume->add(
new GeoTransform(GeoTrf::Transform3D::Identity()));
 
  400     pMotherVolume->add(pPhysBoxY);
 
  402     pMotherVolume->add(
new GeoNameTag(
"BoxZ"));
 
  403     pMotherVolume->add(
new GeoTransform(GeoTrf::Transform3D::Identity()));
 
  404     pMotherVolume->add(pPhysBoxZ);
 
 
 
 
◆ CreateSolidAir()
  
  | 
        
          | GeoShape * ALFA_DetectorFactory::CreateSolidAir | ( |  | ) |  |  | private | 
 
Definition at line 949 of file ALFA_DetectorFactory.cxx.
  958     GeoShapeShift * mowe1 = 
new GeoShapeShift(RP_Airbox2,RP_Air_Move1);
 
  959     GeoShapeUnion * RP_Airsemi1 = 
new GeoShapeUnion(RP_Airbox1, mowe1);
 
  962     GeoShapeShift * mowe2 = 
new GeoShapeShift(RP_Airbox3,RP_Air_Move2);
 
  963     GeoShapeUnion * RP_Airsemi2 = 
new GeoShapeUnion(RP_Airsemi1, mowe2);
 
  966     GeoShapeShift * mowe3 = 
new GeoShapeShift(RP_Airbox4,RP_Air_Move3);
 
  967     GeoShapeUnion * RP_Airsemi3 = 
new GeoShapeUnion(RP_Airsemi2, mowe3);
 
  970     GeoShapeShift * mowe4 = 
new GeoShapeShift(RP_Airbox4,RP_Air_Move4);
 
  971     GeoShapeUnion * RP_Airsemi4 = 
new GeoShapeUnion(RP_Airsemi3, mowe4);
 
  974     GeoShapeShift * mowe5 = 
new GeoShapeShift(RP_Airtube1,RP_Air_MoveRot5);
 
  975     GeoShapeUnion * shapeRP_Air = 
new GeoShapeUnion(RP_Airsemi4, mowe5);
 
 
 
 
◆ CreateSolidG10Shapes()
  
  | 
        
          | GeoShape * ALFA_DetectorFactory::CreateSolidG10Shapes | ( |  | ) |  |  | private | 
 
Definition at line 1027 of file ALFA_DetectorFactory.cxx.
 1034     GeoShapeShift* mowe1 = 
new GeoShapeShift(G10box1, G10_Move1);
 
 1035     GeoShapeUnion* G10_Subsemi1 = 
new GeoShapeUnion(G10trd1, mowe1);
 
 1038     GeoShapeShift* mowe2 = 
new GeoShapeShift(G10trd2, G10_Move2);
 
 1039     GeoShapeUnion* shapeG10_Substrate = 
new GeoShapeUnion(G10_Subsemi1, mowe2);
 
 1041     return shapeG10_Substrate;
 
 
 
 
◆ CreateSolidODPlates()
  
  | 
        
          | map< int, GeoShape * > * ALFA_DetectorFactory::CreateSolidODPlates | ( |  | ) |  |  | private | 
 
Definition at line 1077 of file ALFA_DetectorFactory.cxx.
 1080     std::map<int,GeoShape*>* pMapODPlates=
new std::map<int,GeoShape*>();
 
 1087     GeoShapeShift * mowe01 = 
new GeoShapeShift(OD_Tibox2,OD_Move01);
 
 1088     GeoShapeUnion * OD_Tisemi01 = 
new GeoShapeUnion(OD_Tibox1, mowe01);
 
 1091     GeoShapeShift * mowe02 = 
new GeoShapeShift(OD_Tibox3, OD_Move02);
 
 1092     GeoShapeSubtraction * OD_Tisemi02 = 
new GeoShapeSubtraction(OD_Tisemi01, mowe02);
 
 1101     GeoShapeShift * mowe04 = 
new GeoShapeShift(OD_Tibox6,OD_Move04);
 
 1102     GeoShapeSubtraction * OD_Tisemi04 = 
new GeoShapeSubtraction(OD_Titube1, mowe04);
 
 1105     GeoShapeShift * mowe05 = 
new GeoShapeShift(OD_Tibox7,OD_Move05);
 
 1106     GeoShapeSubtraction * OD_Tisemi05 = 
new GeoShapeSubtraction(OD_Tisemi04, mowe05);
 
 1112     GeoShapeShift * mowe06 = 
new GeoShapeShift(OD_Tibox8,OD_Move06);
 
 1113     GeoShapeUnion * OD_Tisemi06 = 
new GeoShapeUnion(OD_Tisemi05, mowe06);
 
 1116     GeoShapeShift * mowe07 = 
new GeoShapeShift(OD_Tibox9,OD_Move07);
 
 1117     GeoShapeUnion * OD_Tisemi07 = 
new GeoShapeUnion(OD_Tisemi06, mowe07);
 
 1122         GeoShapeShift * mowe08 = 
new GeoShapeShift(OD_Tisemi07, OD_Move08);
 
 1123         GeoShapeSubtraction * OD_Tisemi08 = 
new GeoShapeSubtraction(OD_Tibox5, mowe08);
 
 1126         GeoShapeShift * mowe09 = 
new GeoShapeShift(OD_Tisemi07, OD_Move09);
 
 1127         GeoShapeSubtraction * OD_Tisemi09 = 
new GeoShapeSubtraction(OD_Tisemi08, mowe09);
 
 1130         GeoShapeShift * mowe11 = 
new GeoShapeShift(OD_Tisemi07, OD_Move11);
 
 1131         GeoShapeSubtraction * OD_Tisemi11 = 
new GeoShapeSubtraction(OD_Tibox5, mowe11);
 
 1134         GeoShapeShift * mowe12 = 
new GeoShapeShift(OD_Tisemi07, OD_Move12);
 
 1135         GeoShapeSubtraction * OD_Tisemi12 = 
new GeoShapeSubtraction(OD_Tisemi11, mowe12);
 
 1138         GeoShapeShift * mowe14 = 
new GeoShapeShift(OD_Tisemi09,OD_Move14);
 
 1139         GeoShapeUnion * OD_Tisemi14 = 
new GeoShapeUnion(OD_Tisemi02, mowe14);
 
 1142         GeoShapeShift * mowe15 = 
new GeoShapeShift(OD_Tisemi12,OD_Move15);
 
 1143         GeoShapeUnion * OD_Tisemi15 = 
new GeoShapeUnion(OD_Tisemi14, mowe15);
 
 1146         GeoShapeShift * mowe16 = 
new GeoShapeShift(OD_Tibox3, OD_Move16);
 
 1147         GeoShapeSubtraction * shapeOD_TiPlate = 
new GeoShapeSubtraction(OD_Tisemi15, mowe16);
 
 1149         pMapODPlates->insert(std::pair<int,GeoShape*>(
i,shapeOD_TiPlate));
 
 1152     return pMapODPlates;
 
 
 
 
◆ CreateSolidRP()
  
  | 
        
          | GeoShape * ALFA_DetectorFactory::CreateSolidRP | ( |  | ) |  |  | private | 
 
Definition at line 896 of file ALFA_DetectorFactory.cxx.
  903     GeoShapeShift * mowe1 = 
new GeoShapeShift(RPbox3,RP_Move1);
 
  904     GeoShapeUnion * RPsemi1 = 
new GeoShapeUnion(RPbox2, mowe1);
 
  907     GeoShapeShift * mowe2 = 
new GeoShapeShift(RPsemi1,RP_Move2);
 
  908     GeoShapeUnion * RPsemi2 = 
new GeoShapeUnion(RPbox1, mowe2);
 
  911     GeoShapeShift * mowe3 = 
new GeoShapeShift(RPsemi1,RP_Move3);
 
  912     GeoShapeUnion * RPsemi3 = 
new GeoShapeUnion(RPsemi2, mowe3);
 
  918     GeoShapeShift * mowe4 = 
new GeoShapeShift(RPtube2,RP_Move4);
 
  919     GeoShapeUnion * RPsemi4 = 
new GeoShapeUnion(RPtube1, mowe4);
 
  925     GeoShapeShift * mowe5 = 
new GeoShapeShift(RPbox4,RP_Move5);
 
  926     GeoShapeUnion * RPsemi5 = 
new GeoShapeUnion(RPsemi4, mowe5);
 
  929     GeoShapeShift * mowe6 = 
new GeoShapeShift(RPbox5,RP_Move6);
 
  930     GeoShapeUnion * RPsemi6 = 
new GeoShapeUnion(RPsemi5, mowe6);
 
  933     GeoShapeShift * mowe7 = 
new GeoShapeShift(RPsemi6,RP_MoveRot7);
 
  934     GeoShapeUnion * RPsemi7 = 
new GeoShapeUnion(RPsemi3, mowe7);
 
  939     GeoShapeShift * mowe8 = 
new GeoShapeShift(RPbox6,RP_MoveRot8);
 
  940     GeoShapeSubtraction * RPsemi8 = 
new GeoShapeSubtraction(RPsemi7, mowe8);
 
  943     GeoShapeShift * mowe9 = 
new GeoShapeShift(RPbox6,RP_MoveRot9);
 
  944     GeoShapeSubtraction * shapeRP = 
new GeoShapeSubtraction(RPsemi8, mowe9);
 
 
 
 
◆ CreateSolidRPSupport()
  
  | 
        
          | GeoShape * ALFA_DetectorFactory::CreateSolidRPSupport | ( |  | ) |  |  | private | 
 
Definition at line 1005 of file ALFA_DetectorFactory.cxx.
 1013     GeoShapeShift * mowe1 = 
new GeoShapeShift(RP_Supbox2, RP_Sup_Move1);
 
 1014     GeoShapeUnion * RP_Supsemi1 = 
new GeoShapeUnion(RP_Supbox1, mowe1);
 
 1017     GeoShapeShift * mowe2 = 
new GeoShapeShift(RP_Supbox3, RP_Sup_Move2);
 
 1018     GeoShapeUnion * RP_Supsemi2 = 
new GeoShapeUnion(RP_Supsemi1, mowe2);
 
 1021     GeoShapeShift * mowe3 = 
new GeoShapeShift(RP_Supbox4, RP_Sup_Move3);
 
 1022     GeoShapeUnion * shapeRP_Support = 
new GeoShapeUnion(RP_Supsemi2, mowe3);
 
 1024     return shapeRP_Support;
 
 
 
 
◆ CreateSolidTiPlates()
  
  | 
        
          | map< int, GeoShape * > * ALFA_DetectorFactory::CreateSolidTiPlates | ( |  | ) |  |  | private | 
 
Definition at line 1044 of file ALFA_DetectorFactory.cxx.
 1047     std::map<int,GeoShape*>* pMapTiPlates=
new std::map<int,GeoShape*>();
 
 1055     GeoShapeShift * mowe1 = 
new GeoShapeShift(TiPlate_Holder,TiPlate_Move1);
 
 1056     GeoShapeUnion * TiPlatesemi1 = 
new GeoShapeUnion(TiPlate_Substr, mowe1);
 
 1062         GeoShapeShift * mowe2 = 
new GeoShapeShift(TiPlate_box1, TiPlate_MoveRot2);
 
 1063         GeoShapeShift * mowe3 = 
new GeoShapeShift(TiPlate_box1, TiPlate_MoveRot3);
 
 1064         GeoShapeSubtraction * TiPlatesemi2 = 
new GeoShapeSubtraction(TiPlatesemi1,mowe2);
 
 1065         GeoShapeSubtraction * TiPlatesemi3 = 
new GeoShapeSubtraction(TiPlatesemi2,mowe3);
 
 1068         GeoShapeShift * mowe4 = 
new GeoShapeShift(TiPlate_box2, TiPlate_MoveRot4);
 
 1069         GeoShapeSubtraction* shapeTi_Plate = 
new GeoShapeSubtraction(TiPlatesemi3, mowe4);
 
 1071         pMapTiPlates->insert(std::pair<int,GeoShape*>(
i,shapeTi_Plate));
 
 1074     return pMapTiPlates;
 
 
 
 
◆ CreateSolidTrigger()
  
  | 
        
          | GeoShape * ALFA_DetectorFactory::CreateSolidTrigger | ( |  | ) |  |  | private | 
 
Definition at line 980 of file ALFA_DetectorFactory.cxx.
  987     GeoShapeShift * mowe1 = 
new GeoShapeShift(ALFA_Trigbox2, ALFA_Trig_MoveRot1);
 
  988     GeoShapeSubtraction * ALFA_Trigsemi1 = 
new GeoShapeSubtraction(ALFA_Trigbox1, mowe1);
 
  991     GeoShapeShift * mowe2 = 
new GeoShapeShift(ALFA_Trigsemi1,ALFA_Trig_Move2);
 
  992     GeoShapeUnion * ALFA_Trigsemi2 = 
new GeoShapeUnion(ALFA_Trigsemi1, mowe2);
 
  995     GeoShapeShift * mowe3 = 
new GeoShapeShift(ALFA_Trigbox3,ALFA_Trig_Move3);
 
  996     GeoShapeUnion * ALFA_Trigsemi3 = 
new GeoShapeUnion(ALFA_Trigbox3, mowe3);
 
  999     GeoShapeShift * mowe4 = 
new GeoShapeShift(ALFA_Trigsemi2,ALFA_Trig_MoveRot4);
 
 1000     GeoShapeUnion * shapeALFA_Trigger = 
new GeoShapeUnion(ALFA_Trigsemi3, mowe4);
 
 1002     return shapeALFA_Trigger;
 
 
 
 
◆ DefineMaterials()
Definition at line 223 of file ALFA_DetectorFactory.cxx.
  226     GeoMaterial* pMaterial;
 
  230     double aH,aB,aC,aN,aO,aNa,aMg,aAl,aSi,aP,aS,aK,aCa,aTi,aCr,aMn,aFe,aNi,aMo,Atot;
 
  232     const GeoElement* 
H  = pMaterialManager->
getElement(
"Hydrogen");
 
  233     const GeoElement* 
B  = pMaterialManager->
getElement(
"Boron");
 
  234     const GeoElement* 
C  = pMaterialManager->
getElement(
"Carbon");
 
  235     const GeoElement* 
N  = pMaterialManager->
getElement(
"Nitrogen");
 
  236     const GeoElement* 
O  = pMaterialManager->
getElement(
"Oxygen");
 
  237     const GeoElement* Na = pMaterialManager->
getElement(
"Sodium");
 
  238     const GeoElement* Mg = pMaterialManager->
getElement(
"Magnesium");
 
  239     const GeoElement* Al = pMaterialManager->
getElement(
"Aluminium");
 
  240     const GeoElement* Si = pMaterialManager->
getElement(
"Silicon");
 
  241     const GeoElement* 
P  = pMaterialManager->
getElement(
"Phosphorus");
 
  242     const GeoElement* 
S  = pMaterialManager->
getElement(
"Sulfur");
 
  243     const GeoElement* K  = pMaterialManager->
getElement(
"Potassium");
 
  244     const GeoElement* Ca = pMaterialManager->
getElement(
"Calcium");
 
  245     const GeoElement* Ti = pMaterialManager->
getElement(
"Titanium");
 
  246     const GeoElement* Cr = pMaterialManager->
getElement(
"Chromium");
 
  247     const GeoElement* Mn = pMaterialManager->
getElement(
"Manganese");
 
  248     const GeoElement* Fe = pMaterialManager->
getElement(
"Iron");
 
  249     const GeoElement* Ni = pMaterialManager->
getElement(
"Nickel");
 
  250     const GeoElement* Mo = pMaterialManager->
getElement(
"Molybdenum");
 
  266     Atot=aFe+aC+aMn+aSi+aP+aS+aCr+aMo+aNi+aN;
 
  268     pMaterial->add(
const_cast<GeoElement*
> (Fe),aFe/Atot);
 
  269     pMaterial->add(
const_cast<GeoElement*
> (
C),  aC/Atot);
 
  270     pMaterial->add(
const_cast<GeoElement*
> (Mn),aMn/Atot);
 
  271     pMaterial->add(
const_cast<GeoElement*
> (Si),aSi/Atot);
 
  272     pMaterial->add(
const_cast<GeoElement*
> (
P),  aP/Atot);
 
  273     pMaterial->add(
const_cast<GeoElement*
> (
S),  aS/Atot);
 
  274     pMaterial->add(
const_cast<GeoElement*
> (Cr),aCr/Atot);
 
  275     pMaterial->add(
const_cast<GeoElement*
> (Mo),aMo/Atot);
 
  276     pMaterial->add(
const_cast<GeoElement*
> (Ni),aNi/Atot);
 
  277     pMaterial->add(
const_cast<GeoElement*
> (
N),  aN/Atot);
 
  279     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  286     pMaterial->add(
const_cast<GeoElement*
> (Ti), 1);
 
  288     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  298     pMaterial->add(
const_cast<GeoElement*
> (
H), aH/Atot);
 
  299     pMaterial->add(
const_cast<GeoElement*
> (
C), aC/Atot);
 
  301     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  323     Atot=aH+aB+aC+aN+aO+aNa+aMg+aAl+aSi+aP+aK+aCa+aTi+aFe;
 
  325     pMaterial->add(
const_cast<GeoElement*
> (
H), aH/Atot);
 
  326     pMaterial->add(
const_cast<GeoElement*
> (
B), aB/Atot);
 
  327     pMaterial->add(
const_cast<GeoElement*
> (
C), aC/Atot);
 
  328     pMaterial->add(
const_cast<GeoElement*
> (
N), aN/Atot);
 
  329     pMaterial->add(
const_cast<GeoElement*
> (O), aO/Atot);
 
  330     pMaterial->add(
const_cast<GeoElement*
> (Na),aNa/Atot);
 
  331     pMaterial->add(
const_cast<GeoElement*
> (Mg),aMg/Atot);
 
  332     pMaterial->add(
const_cast<GeoElement*
> (Al),aAl/Atot);
 
  333     pMaterial->add(
const_cast<GeoElement*
> (Si),aSi/Atot);
 
  334     pMaterial->add(
const_cast<GeoElement*
> (
P), aP/Atot);
 
  335     pMaterial->add(
const_cast<GeoElement*
> (K), aK/Atot);
 
  336     pMaterial->add(
const_cast<GeoElement*
> (Ca),aCa/Atot);
 
  337     pMaterial->add(
const_cast<GeoElement*
> (Ti),aTi/Atot);
 
  338     pMaterial->add(
const_cast<GeoElement*
> (Fe),aFe/Atot);
 
  340     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  343     MatName=
"Polystyrene";
 
  350     pMaterial->add(
const_cast<GeoElement*
> (
H), aH/Atot);
 
  351     pMaterial->add(
const_cast<GeoElement*
> (
C), aC/Atot);
 
  353     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  364     pMaterial->add(
const_cast<GeoElement*
> (
H), aH/Atot);
 
  365     pMaterial->add(
const_cast<GeoElement*
> (
C), aC/Atot);
 
  366     pMaterial->add(
const_cast<GeoElement*
> (O), aO/Atot);
 
  368     m_MapMaterials.insert(pair<string,GeoMaterial*>(MatName,pMaterial));
 
  375     MatName=
"std::Vacuum";
 
 
 
 
◆ getDetectorManager()
◆ operator=()
◆ Point3DInDetector()
  
  | 
        
          | HepGeom::Point3D< double > ALFA_DetectorFactory::Point3DInDetector | ( | eRPotName | eRPName | ) |  |  | private | 
 
Definition at line 1872 of file ALFA_DetectorFactory.cxx.
 1874     MsgStream LogStream(
Athena::getMessageSvc(), 
"ALFA_DetectorFactory::Point3DInDetector(eRPotName eRPName)");
 
 1875     HepGeom::Point3D<double> 
Point;
 
 1904             LogStream << MSG::WARNING << 
"Unknown Roman pot, transformation point will be set to default (zero) value" << 
endmsg;
 
 
 
 
◆ ReadGeometry()
      
        
          | bool ALFA_DetectorFactory::ReadGeometry | ( | bool | bAlignCorrections = false | ) |  | 
      
 
!!
Definition at line 108 of file ALFA_DetectorFactory.cxx.
  113     list<eRPotName>::const_iterator iterRPName;
 
  145         throw GaudiException(
" Could not load geometry ", 
"ALFA_DetectorFactory::ReadGeometry", StatusCode::FAILURE);
 
 
 
 
◆ SaveGeometry()
  
  | 
        
          | void ALFA_DetectorFactory::SaveGeometry | ( |  | ) |  |  | private | 
 
Definition at line 155 of file ALFA_DetectorFactory.cxx.
  170                         strcpy(szPrefix,
"ideal");
 
  173                         strcpy(szPrefix,
"real");
 
  176                         strcpy(szPrefix,
"realdb");
 
  182                 sprintf(szFilename,
"%sgeometry_MD_RP-%s.txt",szPrefix,
m_pGeoReader->GetRPotLabel(eRPName));
 
  184                 LogStream<<
MSG::INFO<<
"The MD fiber geometry was stored in the "<<szFilename<<
" file"<<
endmsg;
 
  195                         strcpy(szPrefix,
"ideal");
 
  198                         strcpy(szPrefix,
"real");
 
  201                         strcpy(szPrefix,
"realdb");
 
  207                 sprintf(szFilename,
"%sgeometry_OD_RP-%s.txt",szPrefix,
m_pGeoReader->GetRPotLabel(eRPName));
 
  209                 LogStream<<
MSG::INFO<<
"The OD fiber geometry was stored in the "<<szFilename<<
" file"<<
endmsg;
 
  217         sprintf(szFilename,
"geometryinfo_MD_RP-%s.txt",
m_pGeoReader->GetRPotLabel(eRPName));
 
  218         m_pGeoReader->SaveRPGeometryParams(eRPName, szFilename);
 
  219         LogStream<<
MSG::INFO<<
"RP geometry info was stored in the "<<szFilename<<
" file"<<
endmsg;
 
 
 
 
◆ SelectRPots()
  
  | 
        
          | void ALFA_DetectorFactory::SelectRPots | ( |  | ) |  |  | private | 
 
 
◆ UpdateTransforms()
Definition at line 1910 of file ALFA_DetectorFactory.cxx.
 1917     GeoAlignableTransform* pAlTrans;
 
 1932                 sprintf(szLabel,
"AlTransRPBox[%02d]",eRPName);
 
 1934                 if(
sc==StatusCode::SUCCESS){
 
 1940                 sprintf(szLabel,
"AlTransDetInRPMainPoint[%02d]",eRPName);
 
 1942                 if(
sc==StatusCode::SUCCESS){
 
 
 
 
◆ UserTransformInDetector()
  
  | 
        
          | HepGeom::Transform3D ALFA_DetectorFactory::UserTransformInDetector | ( | eRPotName | eRPName | ) |  |  | private | 
 
Definition at line 1796 of file ALFA_DetectorFactory.cxx.
 1798     MsgStream LogStream(
Athena::getMessageSvc(), 
"ALFA_DetectorFactory::UserHepGeom::Transform3DInDetector(eRPotName eRPName)");
 
 1800     CLHEP::HepRep3x3 matRotation;
 
 1846             LogStream << MSG::WARNING << 
"Unknown Roman pot, detector transformation will be set to default (zero) values" << 
endmsg;
 
 1847             structUserTransform.
fAngle = 0.0;
 
 1848             structUserTransform.
vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
 
 1849             structUserTransform.
vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
 
 1852     double fPhi = structUserTransform.
fAngle;
 
 1854     CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.
vecRotation);
 
 1855     CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.
vecTranslation);
 
 1857     matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 1858     matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - 
cos(fPhi)) - vRotation.z()*
sin(fPhi);
 
 1859     matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - 
cos(fPhi)) + vRotation.y()*
sin(fPhi);
 
 1861     matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - 
cos(fPhi)) + vRotation.z()*
sin(fPhi);
 
 1862     matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 1863     matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - 
cos(fPhi)) - vRotation.x()*
sin(fPhi);
 
 1865     matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - 
cos(fPhi)) - vRotation.y()*
sin(fPhi);
 
 1866     matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - 
cos(fPhi)) + vRotation.x()*
sin(fPhi);
 
 1867     matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 
 
 
◆ UserTransformInStation()
  
  | 
        
          | HepGeom::Transform3D ALFA_DetectorFactory::UserTransformInStation | ( | eRPotName | eRPName | ) |  |  | private | 
 
Definition at line 1720 of file ALFA_DetectorFactory.cxx.
 1722     MsgStream LogStream(
Athena::getMessageSvc(), 
"ALFA_DetectorFactory::UserHepGeom::Transform3DInStation(eRPotName eRPName)");
 
 1724     CLHEP::HepRep3x3 matRotation;
 
 1770             LogStream << MSG::WARNING << 
"Unknown Roman pot, station transformation will be set to default (zero) values" << 
endmsg;
 
 1771             structUserTransform.
fAngle = 0.0;
 
 1772             structUserTransform.
vecRotation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
 
 1773             structUserTransform.
vecTranslation = CLHEP::Hep3Vector(0.0, 0.0, 0.0);
 
 1776     double fPhi = structUserTransform.
fAngle;
 
 1778     CLHEP::Hep3Vector vRotation = CLHEP::Hep3Vector(structUserTransform.
vecRotation);
 
 1779     CLHEP::Hep3Vector vTranslation = CLHEP::Hep3Vector(structUserTransform.
vecTranslation);
 
 1781     matRotation.xx_ = vRotation.x()*vRotation.x()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 1782     matRotation.xy_ = vRotation.x()*vRotation.y()*(1 - 
cos(fPhi)) - vRotation.z()*
sin(fPhi);
 
 1783     matRotation.xz_ = vRotation.x()*vRotation.z()*(1 - 
cos(fPhi)) + vRotation.y()*
sin(fPhi);
 
 1785     matRotation.yx_ = vRotation.y()*vRotation.x()*(1 - 
cos(fPhi)) + vRotation.z()*
sin(fPhi);
 
 1786     matRotation.yy_ = vRotation.y()*vRotation.y()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 1787     matRotation.yz_ = vRotation.y()*vRotation.z()*(1 - 
cos(fPhi)) - vRotation.x()*
sin(fPhi);
 
 1789     matRotation.zx_ = vRotation.z()*vRotation.x()*(1 - 
cos(fPhi)) - vRotation.y()*
sin(fPhi);
 
 1790     matRotation.zy_ = vRotation.z()*vRotation.y()*(1 - 
cos(fPhi)) + vRotation.x()*
sin(fPhi);
 
 1791     matRotation.zz_ = vRotation.z()*vRotation.z()*(1 - 
cos(fPhi)) + 
cos(fPhi);
 
 
 
 
◆ m_Config
◆ m_eRequestedMetrologyType
◆ m_ListExistingRPots
  
  | 
        
          | std::list<eRPotName> ALFA_DetectorFactory::m_ListExistingRPots |  | private | 
 
 
◆ m_MapMaterials
  
  | 
        
          | std::map<std::string,const GeoMaterial*> ALFA_DetectorFactory::m_MapMaterials |  | private | 
 
 
◆ m_pDetectorManager
◆ m_pDetectorStore
◆ m_pGeoReader
◆ m_pIRDBAccess
The documentation for this class was generated from the following files:
 
void AddBeamPipeInStation(GeoFullPhysVol *pPhysStation, const char *pszStationLabel)
#define BEAMPIPEINNERRADIUS
std::vector< double > vecTransformInDetectorA7L1U
std::vector< double > vecTransformInDetectorB7L1L
std::vector< double > pointTransformInDetectorA7L1L
std::vector< double > pointTransformInDetectorA7R1L
std::vector< double > vecTransformInStationB7R1U
std::vector< double > vecTransformInDetectorA7R1L
void AddGlobalVacuumSensorInStation(GeoFullPhysVol *pPhysStation, eAStationName eStatName)
std::vector< double > vecTransformInStationB7L1L
std::vector< double > pointTransformInDetectorA7R1U
IRDBAccessSvc * m_pIRDBAccess
StoreGateSvc * m_pDetectorStore
std::vector< bool > bIsTransformInDetector
virtual const GeoElement * getElement(const std::string &name)=0
HepGeom::Point3D< double > IdealMainPoint
GeoShape * CreateSolidG10Shapes()
HepGeom::Transform3D ASTransformInATLAS
std::list< eRPotName > m_ListExistingRPots
ALFA_DetectorManager * m_pDetectorManager
std::unique_ptr< ALFA_GeometryReader > m_pGeoReader
std::vector< double > pointTransformInDetectorB7L1L
HepGeom::Transform3D DetTransformInMainPoint
std::vector< double > vecTransformInStationB7L1U
ChargedTracksWeightFilter::Spline::Point Point
GeoShape * CreateSolidTrigger()
IMessageSvc * getMessageSvc(bool quiet=false)
void ConstructBeampipe(GeoPhysVol *pWorld)
bool ReadGeometry(bool bAlignCorrections=false)
GeoShape * CreateSolidRP()
HepGeom::Transform3D UserTransformOfDetInRPot
std::vector< double > vecTransformInDetectorA7R1U
std::vector< bool > bIsTransformInStation
double fXOffset[RPOTSCNT]
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
bool bIsEnabledUserTranform
struct CFGRPPOSPARAMS::@50 swcorr
struct CFGRPPOSPARAMS::@51 usercorr
void ConstructAlfaStations(std::map< eAStationName, ALFAPHYSVOLUME > *pmapActiveStations, GeoPhysVol *pWorld)
GEOMETRYCONFIGURATION GeometryConfig
HepGeom::Transform3D RPTransformInStation
std::vector< double > vecTransformInStationA7R1L
::StatusCode StatusCode
StatusCode definition for legacy code.
double fYOffset[RPOTSCNT]
std::vector< double > vecTransformInStationA7L1U
#define ALFASTATIONHSIZEZ
GeoShape * CreateSolidRPSupport()
Eigen::Affine3d Transform3D
eMetrologyType m_eRequestedMetrologyType
void ConstructUFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
std::vector< double > pointTransformInDetectorB7L1U
std::map< int, GeoShape * > * CreateSolidTiPlates()
CFGRPPOSPARAMS CfgRPosParams[RPOTSCNT]
void ConstructVFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
GeoShape * CreateSolidAir()
std::vector< double > vecTransformInStationA7R1U
std::map< int, GeoShape * > * CreateSolidODPlates()
std::vector< double > vecTransformInDetectorB7R1U
std::vector< double > pointTransformInDetectorB7R1U
Linear spline representation of a function used to calculate weights.
void ConstructODFibers00(const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding)
HepGeom::Transform3D Transform
std::vector< double > pointTransformInDetectorA7L1U
HepGeom::Transform3D UserTransformInStation(eRPotName eRPName)
HepGeom::Point3D< double > UserOriginOfDetTransInRPot
std::vector< double > vecTransformInDetectorB7L1U
#define ALFA_GVSTHICKNESS
void CreateAxes(GeoPhysVol *pMotherVolume)
Amg::Transform3D CLHEPTransformToEigen(const HepGeom::Transform3D &CLHEPtransf)
Converts a CLHEP-based HepGeom::Transform3D into an Eigen Amg::Transform3D.
std::vector< double > pointTransformInDetectorB7R1L
std::vector< double > vecTransformInStationB7R1L
std::vector< double > vecTransformInDetectorB7R1L
virtual const GeoMaterial * getMaterial(const std::string &name)=0
#define BEAMPIPEOUTERRADIUS
This class holds one or more material managers and makes them storeable, under StoreGate.
void ConstructODFiberCladdings(const eRPotName eRPName, GeoFullPhysVol *pPhysMotherVolume, const HepGeom::Transform3D &MotherTransform, GeoAlignableTransform *pDetTransform)
void DefineMaterials(StoredMaterialManager *pMaterialManager)
HepGeom::Transform3D UserTransformOfRPInStation
std::vector< double > vecTransformInStationA7L1L
GeoAlignableTransform * getAlignX()
void ConstructODFibers01(const eRPotName eRPName, const int iODPlate, eFiberType eFType, GeoFullPhysVol *pMotherVolume, const HepGeom::Transform3D &MotherTransform, const HepGeom::Transform3D &TransODCladding)
#define ALFAEDGEBEAMPIPEHLENGTH
std::vector< double > vecTransformInDetectorA7L1L
GeoFullPhysVol * pPhysVolume
HepGeom::Transform3D UserTransformInDetector(eRPotName eRPName)
std::map< std::string, const GeoMaterial * > m_MapMaterials