Transcript
Page 1: Describing  ATLAS  Detector              with  AGDD

CERN Summer Student 2002

Describing ATLAS Detector with AGDD

Mercedes PanicciaUniversity of Rome “La Sapienza”

Page 2: Describing  ATLAS  Detector              with  AGDD

DetectorDescriptionDatabase

Simulation

Reconstruction

Offline SoftwareDesign

Test

Page 3: Describing  ATLAS  Detector              with  AGDD

ATLAS Muon System

ATLAS offline software for the Muon Spectometerobtains detector description data from two ASCIIdatabases:

ATLASMuonDataBase

ATLASGenericDetector

Description

Page 4: Describing  ATLAS  Detector              with  AGDD

ATLAS Muon Data Base Formatted ASCII file Basic parameters for the geometry:

active material & inert matter Algorithms to build geometrical structures embedded

in the application programs

********* End-cap Toroid ***************************************************

M ENC 2 | ENC Description version

4 ! *** CRYOSTAT ****************** Matter identifier

783.00 1283.00 90.50 ! Z_min, Z_max, R_min

3.00 8.00 8.50 ! T_Thickness(Rmax), Z_Thickness, R_Thickness(Rmin)

430.00 535.00 70.00 60.00 ! Tecma1, Tecma2, Secma1, Secma2

290.00 10.00 8.00 0.00 ! Stay Tube : T_Position, Radius, D_Radius, D_Phi

9 ! Nectu

Page 5: Describing  ATLAS  Detector              with  AGDD

MuonAGDD Package Extend AGDD language for detector

specific elements

Detector SpecificAGDD

GenericAGDD

C++ interface

expand() method

Applications

Page 6: Describing  ATLAS  Detector              with  AGDD

Compact XML <!--Toroid definition ***************************

-->

<compact name="ENC_CRYO_STAYTUBE">

<ENC_Cryostat_StayTube T_Position="2900.0" Radius="100.0"

D_Radius="80.0" D_Phi="0.0" Nectu="9"

unit_length="mm" />

</compact>

<compact name="ENC_CRYO">

<ENC_Cryostat T_Thickness="30.0" Z_Thickness="80.0" R_Thickness="85.0"

Tecma1="4300.0" Tecma2="5350.0" Secma1="700.0" Secma2="600.0"

StayTube_Desc="ENC_CRYO_STAYTUBE"

unit_length="mm" />

</compact>

Page 7: Describing  ATLAS  Detector              with  AGDD

C++ interfacevoid ENC_Cryostat::get_attributes(){ AGDD* agdd; agdd = AGDD_Factory::Xerces_instance().get_detector_description(); m_z_thickness = getDoubleAttValue("Z_Thickness"); m_t_thickness = getDoubleAttValue("T_Thickness"); m_r_thickness = getDoubleAttValue("R_Thickness"); m_out_rad1 = getDoubleAttValue("Tecma1"); m_out_rad2 = getDoubleAttValue("Tecma2"); m_out_segm1 = getDoubleAttValue("Secma1"); m_out_segm2 = getDoubleAttValue("Secma2"); m_unit_length = getDoubleAttValue("unit_length");

m_cryostat_staytube = dynamic_cast<ENC_Cryostat_StayTube*>( getCompactAttValue("StayTube_Desc", agdd)); assert(m_cryostat_staytube);

cout <<"Finished getting Cryostat attributes!" << endl; }

Page 8: Describing  ATLAS  Detector              with  AGDD

expand( ) methodvoid ENC_Toroid::expandCryostat(double Tor_Length,double Tor_Inner_Radius){ cout << "Expanding the Cryostat--" << endl; . . AGDD_Tube* Inner_tube = new AGDD_Tube; m_expandedVolumes.push_back(Inner_tube); Inner_tube->setName("ENC_CRYO_Inner_tube"); Inner_tube->m_total_length = Tor_Length - 2*Cryostat()->Z_Thickness(); Inner_tube->m_inner_radius = Tor_Inner_Radius; Inner_tube->m_outer_radius = Tor_Inner_Radius + Cryostat()->R_Thickness(); Inner_tube->m_starting_angle = -2*Cryostat()->alpha2(); Inner_tube->m_angle = 45; Inner_tube->m_material_name = "Aluminum";

AGDD_Tube* Stay_tube = new AGDD_Tube; m_expandedVolumes.push_back(Stay_tube); Stay_tube->setName("ENC_CRYO_Stay_tube"); Stay_tube->m_total_length = Tor_Length - 2*Cryostat()->Z_Thickness(); Stay_tube->m_inner_radius = Cryostat()->Cryostat_StayTube()->Inner_Rad() ……… Stay_tube->m_outer_radius = Cryostat()->Cryostat_StayTube()->Outer_Rad() …….. Stay_tube->m_material_name = "Aluminum";

Page 9: Describing  ATLAS  Detector              with  AGDD

Expanded XML <tubs name="ENC_CRYO_Inner_tube" material="Aluminum" Rio_Z="905 990 4840"

profile="-26.5078 45" />

<tubs name="ENC_CRYO_Stay_tube" material="Aluminum" Rio_Z="104.433 130.541 4840" />

.

.

.

.

<composition name="ENC_CRYO" >

<posXYZ volume="ENC_CRYO_Inner_tube" />

<posRPhiZ volume="ENC_CRYO_Stay_tube" R_Phi_Z="2900 9.24611 0" />

<posXYZ volume="ENC_CRYO_Outer_surf" />

<posXYZ volume="ENC_CRYO_Side" />

</composition>

Page 10: Describing  ATLAS  Detector              with  AGDD

ATLAS Barrel Toroid

Page 11: Describing  ATLAS  Detector              with  AGDD

ATLAS Endcap Toroid

Page 12: Describing  ATLAS  Detector              with  AGDD

ATLAS Feet

Page 13: Describing  ATLAS  Detector              with  AGDD

Recommended