#include <LCDXML2G4Muon.hh>
Collaboration diagram for LCDXML2G4Muon:

Public Member Functions | |
| LCDXML2G4Muon () | |
| LCDXML2G4Muon (G4VPhysicalVolume *momvol, LCDG4MaterialMgr *matmgr, LCD_Document *detdb, std::map< G4LogicalVolume *, G4int > *m) | |
| ~LCDXML2G4Muon () | |
| void | SetMotherVolume (G4VPhysicalVolume *momvol) |
| void | SetMaterialMgr (LCDG4MaterialMgr *matmgr) |
| int | SetGeom (LCD_Document *detdb) |
| void | SetDetTypeMap (std::map< G4LogicalVolume *, G4int > *m) |
| LCDG4MuonSD * | SetSensitiveDetector () |
| int | MakeBarrel (const int sysNo, const XERCES_CPP_NAMESPACE::DOM_Element &voldb, int *realLayer) |
| int | MakeEndCap (const int sysNo, const XERCES_CPP_NAMESPACE::DOM_Element &voldb, int *realLayer) |
Private Attributes | |
| G4VPhysicalVolume * | m_momvol |
| LCDG4MaterialMgr * | m_matmgr |
| LCDG4MuonSD * | m_muonSD |
| std::map< G4LogicalVolume *, G4int > * | m_pdettype |
|
|
Definition at line 30 of file LCDXML2G4Muon.cc. References m_matmgr, m_momvol, m_muonSD, and m_pdettype.
00030 {
00031 m_momvol =0;
00032 m_matmgr =0;
00033 m_muonSD =0;
00034 m_pdettype =0;
00035 }
|
|
||||||||||||||||||||
|
Definition at line 40 of file LCDXML2G4Muon.cc. References m_muonSD, SetDetTypeMap(), SetGeom(), SetMaterialMgr(), SetMotherVolume(), and SetSensitiveDetector().
00043 {
00044 SetMotherVolume(momvol);
00045 SetMaterialMgr(matmgr);
00046 SetDetTypeMap(m);
00047 m_muonSD=0;
00048 SetSensitiveDetector();
00049 SetGeom(detDb);
00050 }
|
|
|
Definition at line 55 of file LCDXML2G4Muon.cc.
00055 {
00056 }
|
|
||||||||||||||||
|
Referenced by SetGeom(). |
|
||||||||||||||||
|
Referenced by SetGeom(). |
|
|
Definition at line 26 of file LCDXML2G4Muon.hh. References m_pdettype. Referenced by LCDXML2G4Muon().
00026 { m_pdettype=m; }
|
|
|
Definition at line 76 of file LCDXML2G4Muon.cc. References LCD_Document::getElement(), m_matmgr, m_momvol, MakeBarrel(), MakeEndCap(), and SetSensitiveDetector(). Referenced by LCDXML2G4Muon().
00076 {
00077 // Make Muon detector geometry
00078 int iret=0;
00079
00080 SetSensitiveDetector();
00081
00082 // Check MotherVolume , Material Manager and detDB were set?
00083 if (m_momvol == 0) {
00084 fprintf(stderr,
00085 "LCDXML2G4Muon::SetGeom Error!!! MotherVolume was not set!!!\n");
00086 }
00087 if (m_matmgr == 0) {
00088 fprintf(stderr,
00089 "LCDXML2G4Muon::SetGeom Error!!! MaterialMgr was not set!!!\n");
00090 }
00091 if (detDb == 0) {
00092 fprintf(stderr,
00093 "LCDXML2G4Muon::SetGeom Error!!! detDb was not set!!!\n");
00094 }
00095 if (m_momvol == 0 || m_matmgr == 0 || detDb == 0) {
00096 return iret;
00097 }
00098
00099
00100 DOM_Element voldb;
00101
00102 voldb=detDb->getElement("MUON_BARREL"); // BARREL
00103 if( voldb != DOM_Element() ) {
00104 int realLayer=0;
00105 if ((voldb.getTagName()).equals("volume")) {
00106 MakeBarrel(14,voldb,&realLayer);
00107 } else {
00108 // must be complex volume
00109 int iBarrel;
00110 DOM_NodeList volList = voldb.getElementsByTagName("volume");
00111 int nBarrel = volList.getLength();
00112 for (iBarrel=0 ; iBarrel < nBarrel ; iBarrel++) {
00113 DOM_Node node = volList.item(iBarrel);
00114 voldb = (DOM_Element &)node;
00115 MakeBarrel(14,voldb,&realLayer);
00116 }
00117 }
00118 iret=1;
00119 }
00120
00121 voldb=detDb->getElement("MUON_ENDCAP"); // ENDCAP
00122 if( voldb != DOM_Element() ) {
00123 int realLayer=0;
00124 if ((voldb.getTagName()).equals("volume")) {
00125 MakeEndCap(15,voldb,&realLayer);
00126 } else {
00127 // must be complex volume
00128 int iBarrel;
00129 DOM_NodeList volList = voldb.getElementsByTagName("volume");
00130 int nBarrel = volList.getLength();
00131 for (iBarrel=0 ; iBarrel < nBarrel ; iBarrel++) {
00132 DOM_Node node = volList.item(iBarrel);
00133 voldb = (DOM_Element &)node;
00134 MakeEndCap(15,voldb,&realLayer);
00135 }
00136 }
00137 iret=1;
00138 }
00139
00140 return iret;
00141 }
|
|
|
Definition at line 24 of file LCDXML2G4Muon.hh. References m_matmgr. Referenced by LCDXML2G4Muon().
00024 { m_matmgr = matmgr; }
|
|
|
Definition at line 23 of file LCDXML2G4Muon.hh. References m_momvol. Referenced by LCDXML2G4Muon().
00023 { m_momvol = momvol; }
|
|
|
Definition at line 62 of file LCDXML2G4Muon.cc. References m_muonSD. Referenced by LCDXML2G4Muon(), and SetGeom().
00062 {
00063 if (m_muonSD == 0) {
00064 // Define Sensitive Detector Module
00065 G4SDManager* SDman = G4SDManager::GetSDMpointer();
00066 G4String muonSDname = "/lcddet/muon";
00067 m_muonSD = new LCDG4MuonSD(muonSDname);
00068 SDman->AddNewDetector(m_muonSD);
00069 }
00070 return m_muonSD;
00071 }
|
|
|
Definition at line 45 of file LCDXML2G4Muon.hh. Referenced by LCDXML2G4Muon(), SetGeom(), and SetMaterialMgr(). |
|
|
Definition at line 44 of file LCDXML2G4Muon.hh. Referenced by LCDXML2G4Muon(), SetGeom(), and SetMotherVolume(). |
|
|
Definition at line 46 of file LCDXML2G4Muon.hh. Referenced by LCDXML2G4Muon(), and SetSensitiveDetector(). |
|
|
Definition at line 47 of file LCDXML2G4Muon.hh. Referenced by LCDXML2G4Muon(), and SetDetTypeMap(). |
1.3.4