X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STRUCT%2FAliBODY.cxx;h=b9f1715d71b7958070eef8cb3ffa80ca44f2a53b;hb=3649eec169d16a7ec4f5fb34a3b43f186a9a2a85;hp=eb2f9dc22744be1d737f606d2c85531488feab19;hpb=1439f98e64c177f2d0122bfcc85e4162b29f1f2f;p=u%2Fmrichter%2FAliRoot.git diff --git a/STRUCT/AliBODY.cxx b/STRUCT/AliBODY.cxx index eb2f9dc2274..b9f1715d71b 100644 --- a/STRUCT/AliBODY.cxx +++ b/STRUCT/AliBODY.cxx @@ -1,3 +1,20 @@ +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + +/* $Id$ */ + /////////////////////////////////////////////////////////////////////////////// // // // Alice external volume // @@ -19,8 +36,12 @@ // // /////////////////////////////////////////////////////////////////////////////// -#include "AliRun.h" +#include +#include + #include "AliBODY.h" +#include "AliMagF.h" +#include "AliRun.h" ClassImp(AliBODY) @@ -39,9 +60,9 @@ AliBODY::AliBODY(const char *name, const char *title) // // Standard constructor of the Alice external volume // - SetMarkerColor(7); - SetMarkerStyle(2); - SetMarkerSize(0.4); + //PH SetMarkerColor(7); + //PH SetMarkerStyle(2); + //PH SetMarkerSize(0.4); } //_____________________________________________________________________________ @@ -73,84 +94,102 @@ void AliBODY::CreateGeometry() */ //End_Html - Float_t DALIC[10]; - Int_t *idtmed = gAlice->Idtmed(); - AliMC *pMC = AliMC::GetMC(); + Float_t dALIC[10]; + Int_t *idtmed = fIdtmed->GetArray()+1; // if(gAlice->GetModule("ZDC")) { // // If the ZDC is present we have an asymmetric box // made by a four sides polygone // - DALIC[0]=45; - DALIC[1]=360; - DALIC[2]=4; - DALIC[3]=2; - DALIC[4]=-3000; - DALIC[5]=0; - DALIC[6]=2000; - DALIC[7]=15000; - DALIC[8]=0; - DALIC[9]=2000; - pMC->Gsvolu("ALIC","PGON",idtmed[1],DALIC,10); + dALIC[0]=45; + dALIC[1]=360; + dALIC[2]=4; + dALIC[3]=2; + + dALIC[4]=-15000; + dALIC[5]=0; + dALIC[6]=2000; + + dALIC[7]=15000; + dALIC[8]=0; + dALIC[9]=2000; + gMC->Gsvolu("ALIC","PGON",idtmed[1],dALIC,10); + } else if ( gAlice->GetModule("ACORDE")) { + // + // If the Cosmic Ray Trigger is present we need a large box + // + // + dALIC[0]=13000.; + dALIC[1]=5000.; + dALIC[2]=13000.; + gMC->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3); + } else { // - // If the ZDC is not present make just a BOX + // If the ZDC and ACORDE are not present make just a BOX // - DALIC[0]=2000; - DALIC[1]=2000; - DALIC[2]=3000; - pMC->Gsvolu("ALIC","BOX ",idtmed[1],DALIC,3); + dALIC[0]=2000; + dALIC[1]=2000; + dALIC[2]=3000; + gMC->Gsvolu("ALIC","BOX ",idtmed[1],dALIC,3); } } //_____________________________________________________________________________ void AliBODY::CreateMaterials() { - Int_t ISXFLD = gAlice->Field()->Integ(); - Float_t SXMGMX = gAlice->Field()->Max(); - // - AliMaterial(1,"Vacuum $",1.e-16,1.e-16,1.e-16,1.e16,1.e16); - AliMaterial(2,"Air $",14.61,7.3,0.001205,30420,67500); +// Create materials and media + Int_t isxfld = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ(); + Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max(); + + // AIR + + Float_t aAir[4]={12.0107,14.0067,15.9994,39.948}; + Float_t zAir[4]={6.,7.,8.,18.}; + Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827}; + Float_t dAir = 1.20479E-3; + Float_t dAir1 = 1.20479E-10; + // + AliMixture(1,"Vacuum $",aAir,zAir,dAir1,4,wAir); + AliMixture(2,"Air $",aAir,zAir,dAir,4,wAir); AliMaterial(3,"Be $", 9.01,4 ,1.848 ,35.30,36.70); // - AliMedium(1,"Vacuum $",1,0,ISXFLD,SXMGMX,10,1,0.1,0.1,10); - AliMedium(2,"Air $",2,0,ISXFLD,SXMGMX,10,-1,-0.1,0.1 ,-10); - AliMedium(3,"Be pipe $",3,0,ISXFLD,SXMGMX,10,0.1,0.1,0.01,0.01); + AliMedium(1,"Vacuum $",1,0,isxfld,sxmgmx,10,1,0.1,0.1,10); + AliMedium(2,"Air $",2,0,isxfld,sxmgmx,10,-1,-0.1,0.1 ,-10); + AliMedium(3,"Be pipe $",3,0,isxfld,sxmgmx,10,0.1,0.1,0.01,0.01); } //_____________________________________________________________________________ -void AliBODY::DrawModule() +void AliBODY::DrawModule() const { // // Draw a view of the Alice outside box // - AliMC* pMC = AliMC::GetMC(); - // Set everything unseen - pMC->Gsatt("*", "seen", -1); + gMC->Gsatt("*", "seen", -1); // // Set ALIC mother visible - pMC->Gsatt("ALIC","SEEN",1); + gMC->Gsatt("ALIC","SEEN",1); // // Set the volumes visible // - pMC->Gdopt("hide","off"); + gMC->Gdopt("hide","off"); if(gAlice->GetModule("ZDC")) { // // ZDC is present // - pMC->DefaultRange(); - pMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014); - pMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter"); + gMC->DefaultRange(); + gMC->Gdraw("alic", 40, 30, 0, 15, 10, .0014, .0014); + gMC->Gdhead(1111, "Aice Main body with Zero Degree Calorimeter"); } else { // // ZDC is not present // - pMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027); - pMC->Gdhead(1111, "Aice Main body"); + gMC->Gdraw("alic", 40, 30, 0, 10, 9, .0027, .0027); + gMC->Gdhead(1111, "Aice Main body"); } - pMC->Gdman(18, 4, "MAN"); + gMC->Gdman(18, 4, "MAN"); }