]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/PHOS-HTML/geometry.html
The web becomes richer
[u/mrichter/AliRoot.git] / PHOS / PHOS-HTML / geometry.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3 <html>
4   <head>
5     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6     <meta name="GENERATOR" content="Mozilla/4.51 [en] (X11; I; Linux 2.2.5-15 i686) [Netscape]">
7     <title>PHOS Geometry in AliRoot</title>
8     <link REL="stylesheet" href="http://www-subatech.in2p3.fr/~photons/gps_alice.css" type="text/css">
9   <body>
10     
11     <h1 class="page-header">
12       Geometry & Materials
13     </h1>
14     <h1>
15       Simulation
16     </h1>
17     The simulation is done in two steps, one which describes the detector geometry
18     and material and one which does the particle tracking and stores the hits
19     and digits in a TTree itself written on a disk file. These two steps are
20     steered through the Config.C file(<a href="PHOSConfig_Central.C">example</a>), 
21     a root macro launched at the AliRoot prompt. To customize this file you must:
22     <br><br>
23     <ol>
24       <li>
25         select a file name for the root output:
26         <pre>
27         //=======================================================================
28         //  Create the output file
29         sprintf(filename,"<b>myfilename</b>.root");
30         </pre>
31         </li>
32       <li>
33         Define your event generator and simulations parameters:
34         <pre>
35          AliGenCocktail *gener = new AliGenCocktail(); // Cocktail class
36          gener->SetPtRange(.02,10.00);                 // Transverse momentum range   
37          gener->SetPhiRange(180.,360.);                // Azimuthal angle range  
38          gener->SetYRange(-0.25,0.25);                 // Pseudorapidity range
39          gener->SetOrigin(0,0,0);                      // Vertex position
40          gener->SetSigma(0,0,5.6);                     // Sigma in (X,Y,Z) (cm) on IP position
41          gener->Init();                                // Initialize the generator
42         </pre>
43       </li>
44       <li>
45         Select the detector seen by the tracking:
46         <pre>
47          Int_t iPHOS=1;    // PHOS is in
48          Int_t iPMD=0;     // PMD  is out
49         </pre>
50       </li>
51       <li>
52         Create a PHOS object (<b>GPS2</b> is so far the unique configuration option, see below):
53         <pre> 
54          if(iPHOS) {
55          //=================== PHOS parameters =========================== 
56          AliPHOS *PHOS  = new AliPHOSv0("PHOS","<b>GPS2</b>");
57         </pre>
58       </li>
59     </ol>
60     <p>
61       You van now run the simulation by entering the following command at the aliroot prompt:
62       <pre>
63        aliroot> gAlice->Run(1,"PHOSConfig_Central.C");  
64     </pre>
65     </p>
66     <h1>
67       Geometry
68     </h1>
69     <h4>
70       Definition
71     </h4>
72     PHOS consists of two distinct parts. The calorimeter, named EMCA, consists
73     of the PbW04 crystals within their housing. The crystals are assembled
74     in <i>fNModules</i> modules of <i>fNPhi </i>rows along the x-axis direction
75     and <i>fNZ</i> modules along the z-axis direction. Since the total number
76     of crystals and their layout within ALICE is presently (11/11/1999) not
77     final it was decided to fully parametrize the geometry. A change in any
78     of the three previously defined parameters will provide automatically a
79     new layout of the modules.
80     <br>The second part of PHOS is the charged particle identifier. Since until
81     end of 2000 no decision will be taken on the final design of this element
82     two or more versions can be considered. Today (11/11/1999) only one version
83     is implemented and is named PPSD for PHOS Pre-Shower Detector. It consists
84     of a first layer of <i>fNumberOfModulesPhi</i> x <i>fNumberOfModulesZ </i>gas
85     detectors per PHOS module, each detectors being subdivided into <i>fNumberOfPadsPhi</i>
86     x <i>fNumberOfPadsZ </i>gas cells, a Lead converter and a second layer
87     of gas detectors identical to the first layer. This second part is positionned
88     on top of the EMCA module.
89     <p>
90       The class <a href="AliPHOSv0.html"> AliPHOSv0 </a> ( <a href="AliPHOSv0_Tree.ps"> inheritance tree </a>) 
91       describes this geometry. We have defined also a class 
92       <a href="AliPHOSv1.html"> AliPHOSv1 </a> ( <a href="AliPHOSv1_Tree.ps"> inheritance tree </a>) 
93       which in addition contains the photodiode response and the light transport through the crystal.
94     <p>
95       The parameters of the geometry are given in class  <a href="AliPHOSGeometry.html"> AliPHOSGeometry </a>( <a href="AliPHOSGeometry_Tree.ps"> inheritance tree </a>)
96       <br><br>
97     <center>
98       <img SRC=" images/EMCinAlice.gif" ALT="Geant Tree for PHOS" >
99       <br><br>
100       <b> Figure 1.a: </b> <i> GEANT Tree which describes the EMC-PHOS geometry </i>
101     </center>
102     <P>
103     <center>
104       <img SRC=" images/PPSDinAlice.gif" ALT="Geant Tree for PHOS" >
105       <br><br>
106       <b> Figure 1.b: </b> <i> GEANT Tree which describes the PPSD-PHOS geometry </i>
107     </center>
108     <h4>
109       Implementation
110     </h4>
111     <p>
112     <center>
113       <img SRC="aliphossimulation.gif" ALT="Geom/Simul class diagram" >
114       <br><br>
115       <b> Figure 2.: </b> <i> Class diagram for the geometry/simulation package </i>
116     </center>
117     <p>
118       <a href="AliPHOS.html"><i><u>AliPHOS</u></a> : </i>This is the base class. It derives from <i>AliDetector.
119       </i>It's only purpose is to describe the materials
120       (&agrave; la <i>AliMC</i>) needed for the EMCA and PPSD construction.
121     <p>
122       <i><u> <a href="AliPHOSv0.html">AliPHOSv4</u></i></a>: It derives from <i>AliPHOS</i>.
123       <br>
124     <ul>
125       <li>
126         It sets up the geometry for the Root display (<i>AliPHOSv4::BuildGeometry()</i>)
127         and for the GEANT tracking (<i>AliPHOSv4::CreateGeometry()</i>).
128       </li>
129       <li>
130         It watches the tracks passing through the active media of EMCA and PPSD
131         (<i>AliPHOSv4::StepManager()</i>).
132       </li>
133       <li>
134         It stores the hits (<i>AliPHOSv4::AddHit()</i>), using the <i>AliPHOSHit</i>
135         class.
136       </li>
137       <li>
138         It stores the digits (<i>AliPHOSv4::FinishEvent()</i>), using the <i>AliPHOSDigit</i>
139         class.
140       </li>
141     </ul>
142     <p>
143       <a href="AliPHOSv1.html"><i><u>AliPHOSv1</u></i></a> : derives from <i>AliPHOSv0</i> and includes the light transport 
144       in the crystal and the response of the PIN photodiode &agrave; la O. H. Oddland.
145     <p>
146       <a href="AliPHOSvFast.html"><i><u>AliPHOSvFast</u></i></a> : used for <a href="fastsimulation.html">fast simulation</a>.
147     <p>
148       <a href="AliPHOSGeometry.html"<i><u>AliPHOSGeometry</u></i>: It derives from <i>TObject</i> to make it
149         persistent. It is a singleton, i.e., a pointer to the unique instance of
150         this class is obtained by:
151     <center>
152       <pre class="code">
153         AliPHOSGeometry * Geom = AliPHOSGeometry::GetInstance()
154       </pre>
155     </center>
156     <ul>
157       <li>
158         It sets the various parameters for the geometry description and provides
159         the method to access all the parameters. To avoid cumbersome macros at
160         run time these parameters can only be changed manually in the source code.
161       </li>
162       <li>
163         It provides the method to convert the absolute detector Id (crystal in
164         EMCA or pad in PPSD) into a relative Id : PHOS module number, PPSD module
165         number, row, column (<i>AliPHOSGeometry::AbsToRelNumbering()</i>) and the
166         reverse operation (<i>AliPHOSGeometry::RelToAbsNumbering()</i>).
167       </li>
168       <li>
169         It provides the method to convert an absolute Id into a three-vector giving
170         the position of the detector in ALICE (<i>AliPHOSGeometry::RelPosInAlice()</i>).
171       </li>
172     </ul>
173     <p>
174        <a href="AliPHOSHitt.html"<i><u>AliPHOSHit</u></i></a>: It derives from <i>AliHit</i>. It stores the
175         hits as the pair (absolute Id, deposited energy). The hits presently are stored  in the hit TTree 
176         as one hit per elementary cell (EMC crystal or PPSD gas cell) (See the 
177         the AddHit() method in <i>AliPHOSv0</i>).
178     <p>
179        <a href="AliPHOSDigit.html"<i><u>AliPHOSDigit</u></i></a> : It derives from <i>AliDigit</i>. It stores
180       the digits as the pair (absolute Id, energy) in the&nbsp; digit TTree (see 
181       the FinishEvent() method in <i>AliPHOSv0</i>).
182     <h1>
183       Usage
184     </h1>
185     <p>
186     <pre class="code">
187      Int_t iPHOS=1;
188      if(iPHOS) {
189      AliPHOS * phos = new AliPHOSv4("PHOS", char * name) ;
190     </pre>
191     <br>
192     where name can take the following values:
193     <ul>
194       <li>
195         <i>GPS2</i>: will create EMCA plus PPSD
196         <br><br>
197         <center>
198           <img SRC="images/AliPHOSv0AllViews.gif" ALT="ROOT display of PHOS: All Views" >
199           <b> Figure 3a.: </b> <i> ROOT Display of ALICE: All Views   </i>
200           <p>
201             <img SRC="images/AliPHOSv0FrontView.gif" ALT="ROOT display of PHOS: Front View" >
202             <b> Figure 3b.: </b> <i> ROOT Display of ALICE: Front Views   </i>
203           <p>
204             <img SRC="images/AliPHOSv03DView1.gif" ALT="ROOT display of PHOS: 3D View" >
205             <b> Figure 3c.: </b> <i> ROOT Display of ALICE: All View3   </i>
206           <p>
207             <img SRC="images/AliPHOSv0PPSDFrontView.gif" ALT="Zoom on PPSD: Front View " >
208             <b> Figure 4.a: </b> <i> ROOT Display of ALICE: zoom on PPSD, Front Views  </i>
209           <p>
210             <img SRC="images/AliPHOSv0PPSDPerspectiveView.gif" ALT="Zoom on PPSD: Perspective View " >
211             <b> Figure 4.b: </b> <i> ROOT Display of ALICE: zoom on PPSD, Perspective View  </i>
212         </center> <br><br>
213       </li>
214       <li>
215         more to come from Protvino (EMCA plus other CPV type)</li>
216     </ul>
217     <br>
218     EMCA consists of 5 modules of 64x64 modules each, positionned at
219     azimuthal angles -40, -20, 0, +20, +40 (see figures). PPSD consists per
220     EMCA module of 2 layers of 4x4 gas detectors each, each detector having
221     24x24 gas cells. 
222 <hr>
223 <address class="left">
224       &copy; <a href="mailto:schutz@in2p3.fr">>Groupe Photons Subatech (Yves SCHUTZ)</a>
225       <a href="http://www-subatech.in2p3.fr/~photons/subatech/en_index.shtml">[Go
226         to the GPS Home Page]</a>
227 </address>
228 <!-- Created: Wed Nov 17 12:16:58 CET 1999 -->
229 <!-- hhmts start -->
230 Last modified: Tue Mar 14 18:38:42 CET 2000
231 <!-- hhmts end -->
232 <div align=right><a href="http://validator.w3.org/check/referer"><img SRC="vh40.gif" ALT="Valid HTML 4.0!" BORDER=0 height=31 width=88></a><a href="http://jigsaw.w3.org/css-validator"><img SRC="vcss.gif" ALT="Valid CSS!" BORDER=0 height=31 width=88></a></div>
233
234
235 </body>
236 </html>
237