LCOV - code coverage report
Current view: top level - STRUCT - AliBODY.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 28 37 75.7 %
Date: 2016-06-14 17:26:59 Functions: 7 7 100.0 %

          Line data    Source code
       1             : /**************************************************************************
       2             :  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       3             :  *                                                                        *
       4             :  * Author: The ALICE Off-line Project.                                    *
       5             :  * Contributors are mentioned in the code where appropriate.              *
       6             :  *                                                                        *
       7             :  * Permission to use, copy, modify and distribute this software and its   *
       8             :  * documentation strictly for non-commercial purposes is hereby granted   *
       9             :  * without fee, provided that the above copyright notice appears in all   *
      10             :  * copies and that both the copyright notice and this permission notice   *
      11             :  * appear in the supporting documentation. The authors make no claims     *
      12             :  * about the suitability of this software for any purpose. It is          *
      13             :  * provided "as is" without express or implied warranty.                  *
      14             :  **************************************************************************/
      15             : 
      16             : /* $Id$ */
      17             : 
      18             : ///////////////////////////////////////////////////////////////////////////////
      19             : //                                                                           //
      20             : //  Alice external volume                                                    //
      21             : //  This class contains the description of the Alice external volume         //
      22             : //                                                                           //
      23             : //Begin_Html
      24             : /*
      25             : <img src="picts/AliBODYClass.gif">
      26             : </pre>
      27             : <br clear=left>
      28             : <font size=+2 color=red>
      29             : <p>The responsible person for this module is
      30             : <a href="mailto:andreas.morsch@cern.ch">Andreas Morsch</a>.
      31             : </font>
      32             : <pre>
      33             : */
      34             : //End_Html
      35             : //                                                                           //
      36             : //                                                                           //
      37             : ///////////////////////////////////////////////////////////////////////////////
      38             : 
      39             : #include <TGeoGlobalMagField.h>
      40             : #include <TVirtualMC.h>
      41             : #include <TArrayI.h>
      42             : 
      43             : #include "AliBODY.h"
      44             : #include "AliMagF.h"
      45             : #include "AliRun.h"
      46             : 
      47          12 : ClassImp(AliBODY)
      48             :  
      49             : //_____________________________________________________________________________
      50          12 : AliBODY::AliBODY()
      51          60 : {
      52             :   //
      53             :   // Default constructor
      54             :   //
      55          24 : }
      56             :  
      57             : //_____________________________________________________________________________
      58             : AliBODY::AliBODY(const char *name, const char *title)
      59           1 :        : AliModule(name,title)
      60           5 : {
      61             :   //
      62             :   // Standard constructor of the Alice external volume
      63             :   //
      64             :   //PH  SetMarkerColor(7);
      65             :   //PH  SetMarkerStyle(2);
      66             :   //PH  SetMarkerSize(0.4);
      67           2 : }
      68             :  
      69             : //_____________________________________________________________________________
      70             : void AliBODY::CreateGeometry()
      71             : {
      72             :   //
      73             :   // Create the geometry of the Alice external body
      74             :   //
      75             :   //Begin_Html
      76             :   /*
      77             :     <img src="picts/AliBODYTree.gif">
      78             :   */
      79             :   //End_Html
      80             :   //
      81             :   // If the ZDC is present we have an asymmetric box
      82             :   // made by a four sides polygone
      83             :   //  
      84             :   //Begin_Html
      85             :   /*
      86             :     <img src="picts/AliBODYLarge.gif">
      87             :   */
      88             :   //End_Html
      89             :   //
      90             :   // If the ZDC is not present make just a BOX
      91             :   //
      92             :   //Begin_Html
      93             :   /*
      94             :     <img src="picts/AliBODYSmall.gif">
      95             :   */
      96             :   //End_Html
      97             : 
      98           2 :   Float_t dALIC[10];
      99           1 :   Int_t *idtmed = fIdtmed->GetArray()+1;
     100             :   //
     101           1 :   if(gAlice->GetModule("ZDC")) {
     102             :     //
     103           1 :     dALIC[0]=2500.;
     104           1 :     dALIC[1]=2500.;
     105           1 :     dALIC[2]=15000.;
     106           1 :     TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
     107           1 :   } else if ( gAlice->GetModule("ACORDE")) {
     108             :     //
     109             :     // If the Cosmic Ray Trigger  is present we need a large box
     110             :     // 
     111             :     //
     112           0 :     dALIC[0]=13000.;
     113           0 :     dALIC[1]=5000.;
     114           0 :     dALIC[2]=13000.;
     115           0 :     TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
     116             :       
     117           0 :   } else {
     118             :     //
     119             :     // If the ZDC and ACORDE are not present make just a BOX
     120             :     //
     121           0 :     dALIC[0]=2000;
     122           0 :     dALIC[1]=2000;
     123           0 :     dALIC[2]=3000;
     124           0 :     TVirtualMC::GetMC()->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3);
     125             :   }
     126           1 : }
     127             :  
     128             : //_____________________________________________________________________________
     129             : void AliBODY::CreateMaterials()
     130             : {
     131             : // Create materials and media
     132           2 :   Int_t isxfld = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
     133           1 :   Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
     134             :   
     135             :   // AIR
     136             : 
     137           1 :   Float_t aAir[4]={12.0107,14.0067,15.9994,39.948};
     138           1 :   Float_t zAir[4]={6.,7.,8.,18.};
     139           1 :   Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827};
     140             :   Float_t dAir = 1.20479E-3 * 960./1014.;
     141             :   Float_t dAir1 = 1.20479E-10;
     142             :   //
     143           1 :   AliMixture(1,"Vacuum  $",aAir,zAir,dAir1,4,wAir);
     144           1 :   AliMixture(2,"Air     $",aAir,zAir,dAir,4,wAir);
     145           1 :   AliMaterial(3,"Be      $", 9.01,4 ,1.848   ,35.30,36.70);
     146             :   //
     147           1 :   AliMedium(1,"Vacuum  $",1,0,isxfld,sxmgmx,10,1,0.1,0.1,10);
     148           1 :   AliMedium(2,"Air     $",2,0,isxfld,sxmgmx,10,-1,-0.1,0.1 ,-10);
     149           1 :   AliMedium(3,"Be pipe $",3,0,isxfld,sxmgmx,10,0.1,0.1,0.01,0.01);
     150           1 : }
     151             :  

Generated by: LCOV version 1.11