describing atlas detector with agdd

13
CERN Summer Student 2002 Describing ATLAS Detector with AGDD Mercedes Paniccia University of Rome “La Sapienza”

Upload: gwen

Post on 20-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Describing ATLAS Detector with AGDD. Mercedes Paniccia University of Rome “La Sapienza”. Offline Software Design. Simulation. Detector Description Database. Reconstruction. Test. ATLAS Muon System. ATLAS offline software for the Muon Spectometer - PowerPoint PPT Presentation

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