X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFv1.cxx;h=3629c09d67e7f5b3d5ea6c209072e2599bcb5d59;hb=4fc9a6a4a22a18b764aed343583be1429f942dc8;hp=c3e7fce75b76607a60dcdd09aa3322fe9dd88763;hpb=b94fa26cbe4d8014e34a625e3924d35d0abdad4b;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFv1.cxx b/TOF/AliTOFv1.cxx index c3e7fce75b7..3629c09d67e 100644 --- a/TOF/AliTOFv1.cxx +++ b/TOF/AliTOFv1.cxx @@ -15,6 +15,15 @@ /* $Log$ +Revision 1.22 2001/08/28 08:45:59 vicinanz +TTask and TFolder structures implemented + +Revision 1.21 2001/05/16 14:57:24 alibrary +New files for folders and Stack + +Revision 1.20 2001/05/04 10:09:48 vicinanz +Major upgrades to the strip structure + Revision 1.19 2000/12/04 08:48:20 alibrary Fixing problems in the HEAD @@ -55,13 +64,13 @@ Introduction of the Copyright and cvs Log /////////////////////////////////////////////////////////////////////////////// // // -// Time Of Flight: design of C.Williams -// +// Time Of Flight: design of C.Williams // +// // // This class contains the functions for version 1 of the Time Of Flight // // detector. // // // VERSION WITH 5 MODULES AND TILTED STRIPS -// +// // HOLES FOR PHOS DETECTOR // // Authors: @@ -142,13 +151,13 @@ AliTOFv1::~AliTOFv1() delete fHits ; fHits = 0 ; } -/* + if ( fSDigits) { fSDigits->Delete() ; delete fSDigits ; fSDigits = 0 ; } -*/ + if ( fDigits) { fDigits->Delete() ; delete fDigits ; @@ -328,8 +337,10 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, // Large not sensitive volumes with Insensitive Freon par[0] = xFLT*0.5; par[1] = yFLT*0.5; - - cout <<"************************* TOF geometry **************************"<Gsvolu("FLTA", "BOX ", idtmed[512], par, 3); // Insensitive Freon @@ -377,14 +388,14 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, par[1] = yPad*0.5; par[2] = stripWidth*0.5; -// new description for strip volume +// new description for strip volume -double stack strip- // -- all constants are expressed in cm // heigth of different layers const Float_t khhony = 1. ; // heigth of HONY Layer const Float_t khpcby = 0.15 ; // heigth of PCB Layer const Float_t khmyly = 0.035 ; // heigth of MYLAR Layer const Float_t khgraphy = 0.02 ; // heigth of GRAPHITE Layer - const Float_t khglasseiy = 0.32; // 2.2 Ext. Glass + 1. Semi Int. Glass (mm) + const Float_t khglasseiy = 0.17; // 0.6 Ext. Glass + 1.1 i.e. (Int. Glass/2) (mm) const Float_t khsensmy = 0.11 ; // heigth of Sensitive Freon Mixture const Float_t kwsensmz = 2*3.5 ; // cm const Float_t klsensmx = 48*2.5; // cm @@ -392,7 +403,7 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, const Float_t klpadx = 2.5; // cm x dimension of the FPAD volume // heigth of the FSTR Volume (the strip volume) - const Float_t khstripy = 2*(khhony+khpcby+khmyly+khgraphy+khglasseiy)+khsensmy; + const Float_t khstripy = 2*khhony+3*khpcby+4*(khmyly+khgraphy+khglasseiy)+2*khsensmy; // width of the FSTR Volume (the strip volume) const Float_t kwstripz = 10.; // length of the FSTR Volume (the strip volume) @@ -402,6 +413,7 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, // coordinates of the strip center in the strip reference frame; used for positioning // internal strip volumes Float_t posfp[3]={0.,0.,0.}; + // FSTR volume definition and filling this volume with non sensitive Gas Mixture gMC->Gsvolu("FSTR","BOX",idtmed[512],parfp,3); @@ -411,10 +423,11 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, // parfp[2] = -1; gMC->Gsvolu("FHON","BOX",idtmed[503],parfp,3); // positioning 2 HONY Layers on FSTR volume + posfp[1]=-khstripy*0.5+parfp[1]; gMC->Gspos("FHON",1,"FSTR",0., posfp[1],0.,0,"ONLY"); gMC->Gspos("FHON",2,"FSTR",0.,-posfp[1],0.,0,"ONLY"); - + //-- PCB Layer definition parfp[1] = khpcby*0.5; gMC->Gsvolu("FPCB","BOX",idtmed[504],parfp,3); @@ -422,7 +435,11 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, posfp[1]=-khstripy*0.5+khhony+parfp[1]; gMC->Gspos("FPCB",1,"FSTR",0., posfp[1],0.,0,"ONLY"); gMC->Gspos("FPCB",2,"FSTR",0.,-posfp[1],0.,0,"ONLY"); - + // positioning the central PCB layer + gMC->Gspos("FPCB",3,"FSTR",0.,0.,0.,0,"ONLY"); + + + //-- MYLAR Layer definition parfp[1] = khmyly*0.5; gMC->Gsvolu("FMYL","BOX",idtmed[511],parfp,3); @@ -430,6 +447,11 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, posfp[1] = -khstripy*0.5+khhony+khpcby+parfp[1]; gMC->Gspos("FMYL",1,"FSTR",0., posfp[1],0.,0,"ONLY"); gMC->Gspos("FMYL",2,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + // adding further 2 MYLAR Layers on FSTR volume + posfp[1] = khpcby*0.5+parfp[1]; + gMC->Gspos("FMYL",3,"FSTR",0., posfp[1],0.,0,"ONLY"); + gMC->Gspos("FMYL",4,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + //-- Graphite Layer definition parfp[1] = khgraphy*0.5; @@ -438,6 +460,11 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, posfp[1] = -khstripy*0.5+khhony+khpcby+khmyly+parfp[1]; gMC->Gspos("FGRP",1,"FSTR",0., posfp[1],0.,0,"ONLY"); gMC->Gspos("FGRP",2,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + // adding further 2 Graphite Layers on FSTR volume + posfp[1] = khpcby*0.5+khmyly+parfp[1]; + gMC->Gspos("FGRP",3,"FSTR",0., posfp[1],0.,0,"ONLY"); + gMC->Gspos("FGRP",4,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + //-- Glass (EXT. +Semi INT.) Layer definition parfp[1] = khglasseiy*0.5; @@ -446,14 +473,24 @@ void AliTOFv1::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, posfp[1] = -khstripy*0.5+khhony+khpcby+khmyly+khgraphy+parfp[1]; gMC->Gspos("FGLA",1,"FSTR",0., posfp[1],0.,0,"ONLY"); gMC->Gspos("FGLA",2,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + // adding further 2 Glass Layers on FSTR volume + posfp[1] = khpcby*0.5+khmyly+khgraphy+parfp[1]; + gMC->Gspos("FGLA",3,"FSTR",0., posfp[1],0.,0,"ONLY"); + gMC->Gspos("FGLA",4,"FSTR",0.,-posfp[1],0.,0,"ONLY"); + //-- Sensitive Mixture Layer definition parfp[0] = klsensmx*0.5; parfp[1] = khsensmy*0.5; - parfp[2] = kwsensmz*0.5; + parfp[2] = kwsensmz*0.5; gMC->Gsvolu("FSEN","BOX",idtmed[513],parfp,3); - // positioning the sensitive gas Layer on FSTR volume - gMC->Gspos("FSEN",0,"FSTR",0.,0.,0.,0,"ONLY"); + gMC->Gsvolu("FNSE","BOX",idtmed[512],parfp,3); + // positioning 2 gas Layers on FSTR volume + // the upper is insensitive freon + // while the remaining is sensitive + posfp[1] = khpcby*0.5+khmyly+khgraphy+khglasseiy+parfp[1]; + gMC->Gspos("FNSE",0,"FSTR", 0., posfp[1],0.,0,"ONLY"); + gMC->Gspos("FSEN",0,"FSTR", 0.,-posfp[1],0.,0,"ONLY"); // dividing FSEN along z in knz=2 and along x in knx=48 gMC->Gsdvn("FSEZ","FSEN",knz,3); @@ -708,7 +745,7 @@ fp */ } //_____________________________________________________________________________ -void AliTOFv1::DrawModule() +void AliTOFv1::DrawModule() const { // // Draw a shaded view of the Time Of Flight version 1