// //
// ALICE Cosmic Ray Trigger //
// //
-// This class contains the functions for version 0 of the ALICE Cosmic Ray //
-// Trigger. This version will be used to simulation comic rays in alice with//
-// all the detectors. It include geometry and hits (position and momentum) //
+// This class contains the functions for final version of the ALICE Cosmic //
+// Ray Trigger. This version will be used to simulation comic rays in alice //
+// with all the detectors. //
+// It include geometry and hits (position and momentum) //
// //
// Send comments to: //
// //
// Arturo Fernandez Tellez <afernand@fcfm.buap.mx> //
-// Enrique Gamez <egamez@fcfm.buap.mx> //
// Eleazar Cuautle Flores <ecuautle@nucleares.unam.mx> //
// Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch> //
// //
// Puebla, Pue. Mexico December 2007 //
+// //
+// Last Update: Aug. 4th 2008 //
///////////////////////////////////////////////////////////////////////////////
-//
#include <Riostream.h>
#include <TGeoMatrix.h>
#include <TGeometry.h>
#include <TMath.h>
-//#include <TNode.h>
#include <TTUBE.h>
-//#include <TVirtualMC.h>
#include <TString.h>
#include <TSystem.h>
#include "TGeoManager.h"
#include "TGeoVolume.h"
#include "TGeoPcon.h"
-//#include "TGeoTube.h"
#include "TGeoPgon.h"
#include "TGeoTrd1.h"
#include "TGeoCompositeShape.h"
#include "TGeoPara.h"
-//
#include "AliACORDEv1.h"
#include <TClonesArray.h>
#include <TLorentzVector.h>
#include <TVirtualMC.h>
#include <TPDGCode.h>
-//#include <TGeometry.h>
#include <TBRIK.h>
#include <TNode.h>
CreateMolasse();
}
+
void AliACORDEv1::CreateShafts()
{
// | ACORDE8--> Volume for supports |
// | ACORDE9--> Volume for supports |
// | ACORDE_SUPPORT--> Volume that contains a full Acorde's support |
- // | ACORDE_MODULE--> Volume that contains a full Acorde's module |
+ // | ALL_ACORDE_MODULES--> Volume that contains ALL Acorde's module |
+ // | ACORDE_MODULE--> Volume that represents ONE Acorde-Module |
// | ACORDE_1--> Volume that contains the bars&supports in-face |
// | ACORDE_2--> Volume that contains the bars&supports up-face |
// | ACORDE_3--> Volume that contains the bars&supports out-face |
- // | ACORDE_4--> Volume that contains the modules of ACORDE in-face |
- // | ACORDE_5--> Volume that contains the modules of ACORDE up-face |
- // | ACORDE_6--> Volume that contains the modules of ACORDE out-face |
// | |
// |_______________________________________________________________________________|
//*** Support & Bars***
- TGeoMaterial *matAl = new TGeoMaterial("Al", 26.98,13,2.7);
- TGeoMedium *al = new TGeoMedium("Al",2, matAl);
-
- //*** Scintillators ***
-
- TGeoMixture *mat17 = new TGeoMixture("SCINTILLATOR",2,1.03200);
- mat17->SetUniqueID(17);
- mat17->DefineElement(0,12.01,6,0.9153266);
- mat17->DefineElement(1,1.01,1,0.8467343E-01);
- TGeoMedium *med6 = new TGeoMedium("SCINTILLATOR",6,17,1,0,0,1,
- 0.1000000E+11,0.3081371E-01,
- 0.1000000E-01,0.8135138E-02);
+ TGeoMedium* al = gGeoManager->GetMedium("ACORDE_ALU_C0");
+ TGeoMedium* med6 = gGeoManager->GetMedium("ACORDE_CPV scint.1");
//Define a FULL-ACORDE-VOLUME
TGeoVolume *inFace = new TGeoVolumeAssembly("ACORDE_1");
TGeoVolume *upFace = new TGeoVolumeAssembly("ACORDE_2");
TGeoVolume *outFace = new TGeoVolumeAssembly("ACORDE_3");
-
- TGeoVolume *inFacem = new TGeoVolumeAssembly("ACORDE_4");
- TGeoVolume *upFacem = new TGeoVolumeAssembly("ACORDE_5");
- TGeoVolume *outFacem = new TGeoVolumeAssembly("ACORDE_6");
-
+ TGeoVolume *modules = new TGeoVolumeAssembly("ALL_ACORDE_MODULES");
// Define global variables
// Here I define & construct a Master Volume ("ACORDE_MODULE") for one Module in ACORDE
- TGeoVolume *module = new TGeoVolumeAssembly("ACORDE_MODULE");
- module->AddNode(aCORDE1qa,1,new TGeoTranslation("aco1",0,0,13));
- module->AddNode(aCORDE1qa,2,new TGeoTranslation("aco10",0,0,-13));
- module->AddNode(aCORDE10,3,new TGeoTranslation("aco10",293/2+5,0,0));
- module->AddNode(aCORDE10,4,new TGeoTranslation("aco10",-293/2-5,0,0));
+ TGeoVolume *acomodule = new TGeoVolumeAssembly("ACORDE_MODULE");
+ acomodule->AddNode(aCORDE1qa,1,new TGeoTranslation("aco1",0,0,13));
+ acomodule->AddNode(aCORDE1qa,2,new TGeoTranslation("aco10",0,0,-13));
+ acomodule->AddNode(aCORDE10,3,new TGeoTranslation("aco10",293/2+5,0,0));
+ acomodule->AddNode(aCORDE10,4,new TGeoTranslation("aco10",-293/2-5,0,0));
placedAt = pbox[1]+constants->ProfileThickness()-constants->ModuleHeight()/2+small;
- module->AddNode(aCORDE2,5,new TGeoTranslation("aco2",placedAt,0,0));
+ acomodule->AddNode(aCORDE2,5,new TGeoTranslation("aco2",placedAt,0,0));
placedAt = placedAt + 2.0*pbox[1]+small;
- module->AddNode(aCORDE2,6,new TGeoTranslation("aco2",placedAt,-1,0));
+ acomodule->AddNode(aCORDE2,6,new TGeoTranslation("aco2",placedAt,-1,0));
Float_t w1 = 8;
// Put the Modules of In-Face
count=1;
- for(Int_t i=2;i<10;i++){
-
- Float_t posx = constants->ModulePositionX(i-1);
- Float_t posy = constants->ModulePositionY(i-1);
- Float_t posz = constants->ModulePositionZ(i-1);
+ for(Int_t i=1;i<9;i++){
- inFacem->AddNode(module,i-1,
+ Float_t posx = constants->ModulePositionX(i);
+ Float_t posy = constants->ModulePositionY(i);
+ Float_t posz = constants->ModulePositionZ(i);
+ Int_t moduleElectronicID = constants->ModuleElectronicChannel(i);
+
+ modules->AddNode(acomodule,moduleElectronicID,
new TGeoCombiTrans("aco01",posx,posy-w1,posz,idrotm232));
count++;
}
count=9;
- for(Int_t i=11;i<21;i++){
- Float_t posx = constants->ModulePositionX(i-1);
- Float_t posy = constants->ModulePositionY(i-1);
- Float_t posz = constants->ModulePositionZ(i-1);
+ for(Int_t i=10;i<20;i++){
+ Float_t posx = constants->ModulePositionX(i);
+ Float_t posy = constants->ModulePositionY(i);
+ Float_t posz = constants->ModulePositionZ(i);
+ Int_t moduleElectronicID = constants->ModuleElectronicChannel(i);
- inFacem->AddNode(module,i-1,
+ modules->AddNode(acomodule,moduleElectronicID,
new TGeoCombiTrans("aco01",posx,posy-w1,posz,idrotm232));
}
// Put he Modules of Up-Face
count=1;
- for(Int_t i=21;i<41;i++){
- Float_t posx = constants->ModulePositionX(i-1);
- Float_t posy = constants->ModulePositionY(i-1);
- Float_t posz = constants->ModulePositionZ(i-1);
+ for(Int_t i=20;i<40;i++){
+ Float_t posx = constants->ModulePositionX(i);
+ Float_t posy = constants->ModulePositionY(i);
+ Float_t posz = constants->ModulePositionZ(i);
+ Int_t moduleElectronicID = constants->ModuleElectronicChannel(i);
- upFacem->AddNode(module,i-1,new TGeoTranslation("aco01",posx,posy,posz));
+ modules->AddNode(acomodule,moduleElectronicID,new TGeoTranslation("aco01",posx,posy,posz));
count++;
}
// Put the Modules of Out-Face
count=1;
- for(Int_t i=41;i<51;i++){
- Float_t posx = constants->ModulePositionX(i-1);
- Float_t posy = constants->ModulePositionY(i-1);
- Float_t posz = constants->ModulePositionZ(i-1);
+ for(Int_t i=40;i<50;i++){
+ Float_t posx = constants->ModulePositionX(i);
+ Float_t posy = constants->ModulePositionY(i);
+ Float_t posz = constants->ModulePositionZ(i);
+ Int_t moduleElectronicID = constants->ModuleElectronicChannel(i);
- outFacem->AddNode(module,i-1,
+ modules->AddNode(acomodule,moduleElectronicID,
new TGeoCombiTrans("aco01",posx,posy-w1,posz,idrotm231));
count++;
}
// Put the Modules of Out-Face
count=11;
- for(Int_t i=52;i<60;i++){
- Float_t posx = constants->ModulePositionX(i-1);
- Float_t posy = constants->ModulePositionY(i-1);
- Float_t posz = constants->ModulePositionZ(i-1);
+ for(Int_t i=51;i<59;i++){
+ Float_t posx = constants->ModulePositionX(i);
+ Float_t posy = constants->ModulePositionY(i);
+ Float_t posz = constants->ModulePositionZ(i);
+ Int_t moduleElectronicID = constants->ModuleElectronicChannel(i);
+
if ((i==57) || (i==56))
- outFacem->AddNode(module,i-1,
+ modules->AddNode(acomodule,moduleElectronicID,
new TGeoCombiTrans("aco01",posx,posy-w1,posz-w1,idrotm231));
else
- outFacem->AddNode(module,i-1,
+ modules->AddNode(acomodule,moduleElectronicID,
new TGeoCombiTrans("aco01",posx,posy-w1,posz,idrotm231));
count++;
}
if (GetITSGeometry()) {
- upFacem->AddNode(module,71,new TGeoTranslation("its1",
+ modules->AddNode(acomodule,constants->ModuleElectronicChannel(50),new TGeoTranslation("ITS-3",
constants->ExtraModulePositionX(),
constants->ExtraModulePositionY(),
constants->ExtraModulePositionZ(0)));
- upFacem->AddNode(module,72,new TGeoTranslation("its2",
+ modules->AddNode(acomodule,constants->ModuleElectronicChannel(59),new TGeoTranslation("ITS-4",
constants->ExtraModulePositionX(),
constants->ExtraModulePositionY(),
constants->ExtraModulePositionZ(1)));
- upFacem->AddNode(module,73,new TGeoTranslation("its3",
+ modules->AddNode(acomodule,constants->ModuleElectronicChannel(0),new TGeoTranslation("ITS-1",
constants->ExtraModulePositionX(),
constants->ExtraModulePositionY(),
constants->ExtraModulePositionZ(2)));
- upFacem->AddNode(module,74,new TGeoTranslation("its4",
+ modules->AddNode(acomodule,constants->ModuleElectronicChannel(9),new TGeoTranslation("ITS-2",
constants->ExtraModulePositionX(),
constants->ExtraModulePositionY(),
constants->ExtraModulePositionZ(3)));
else {
- upFacem->AddNode(module,61,new TGeoTranslation("its1",
+ modules->AddNode(acomodule,61,new TGeoTranslation("its1",
constants->ModulePositionX(0),
constants->ModulePositionY(0),
constants->ModulePositionZ(0)));
- upFacem->AddNode(module,62,new TGeoTranslation("its2",
+ modules->AddNode(acomodule,62,new TGeoTranslation("its2",
constants->ModulePositionX(9),
constants->ModulePositionY(9),
constants->ModulePositionZ(9)));
- upFacem->AddNode(module,63,new TGeoTranslation("its3",
+ modules->AddNode(acomodule,63,new TGeoTranslation("its3",
constants->ModulePositionX(50),
constants->ModulePositionY(50),
constants->ModulePositionZ(50)));
- upFacem->AddNode(module,64,new TGeoTranslation("its4",
+ modules->AddNode(acomodule,64,new TGeoTranslation("its4",
constants->ModulePositionX(59),
constants->ModulePositionY(59),
constants->ModulePositionZ(59)));
count=24;
- for(Int_t dy=0;dy<=4;dy++)
+ for(Int_t dyA=0;dyA<=4;dyA++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-56*0.7071-18+des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-q1+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)-0.27*293*0.7071-56*0.7071-18+des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-q1+kro;
- TGeoCombiTrans *aco7q4 = new TGeoCombiTrans("aco7q4",posx1,posy1,posz,idrotm231);
- TGeoCombiTrans *aco7q5 = new TGeoCombiTrans("aco7q5",posx2,posy2,posz,idrotm231);
+ Float_t posx1=constants->ModulePositionX(dyA)+0.1*293*0.7071-56*0.7071-18+des;
+ Float_t posy1=constants->ModulePositionY(dyA)-0.1*293*0.7071-56*0.7071+3-des-q1+kro;
+ Float_t posza=constants->ModulePositionZ(dyA);
+ Float_t posx2=constants->ModulePositionX(dyA)-0.27*293*0.7071-56*0.7071-18+des;
+ Float_t posy2=constants->ModulePositionY(dyA)+0.27*293*0.7071-56*0.7071+3-des-q1+kro;
+ TGeoCombiTrans *aco7q4 = new TGeoCombiTrans("aco7q4",posx1,posy1,posza,idrotm231);
+ TGeoCombiTrans *aco7q5 = new TGeoCombiTrans("aco7q5",posx2,posy2,posza,idrotm231);
inFace->AddNode(aCORDE7,count,aco7q4);
inFace->AddNode(aCORDE7,count+1,aco7q5);
count=count+2;
- dy++;
+ dyA++;
}
count=34;
- for(Int_t dy=5;dy<=9;dy++)
+ for(Int_t dyb=5;dyb<=9;dyb++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-56*0.7071-18+des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-q1+kro;
- Float_t posz=constants->ModulePositionZ(dy+10);
- Float_t posx2=constants->ModulePositionX(dy)-0.27*293*0.7071-56*0.7071-18+des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-q1+kro;
- TGeoCombiTrans *aco7q6 = new TGeoCombiTrans("aco7q6",posx1,posy1,posz,idrotm231);
- TGeoCombiTrans *aco7q7 = new TGeoCombiTrans("aco7q7",posx2,posy2,posz,idrotm231);
+ Float_t posx1=constants->ModulePositionX(dyb)+0.1*293*0.7071-56*0.7071-18+des;
+ Float_t posy1=constants->ModulePositionY(dyb)-0.1*293*0.7071-56*0.7071+3-des-q1+kro;
+ Float_t poszb=constants->ModulePositionZ(dyb+10);
+ Float_t posx2=constants->ModulePositionX(dyb)-0.27*293*0.7071-56*0.7071-18+des;
+ Float_t posy2=constants->ModulePositionY(dyb)+0.27*293*0.7071-56*0.7071+3-des-q1+kro;
+ TGeoCombiTrans *aco7q6 = new TGeoCombiTrans("aco7q6",posx1,posy1,poszb,idrotm231);
+ TGeoCombiTrans *aco7q7 = new TGeoCombiTrans("aco7q7",posx2,posy2,poszb,idrotm231);
inFace->AddNode(aCORDE7,count,aco7q6);
inFace->AddNode(aCORDE7,count+1,aco7q7);
count=count+2;
- dy++;
+ dyb++;
}
count=48;
- for(Int_t dy=10;dy<=14;dy++)
+ for(Int_t dyc=10;dyc<=14;dyc++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-56*0.7071-18+des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-0.8+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)-0.27*293*0.7071-56*0.7071-18+des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-1.5-0.8+kro;
+ Float_t posx1=constants->ModulePositionX(dyc)+0.1*293*0.7071-56*0.7071-18+des;
+ Float_t posy1=constants->ModulePositionY(dyc)-0.1*293*0.7071-56*0.7071+3-des-0.8+kro;
+ Float_t poszc=constants->ModulePositionZ(dyc);
+ Float_t posx2=constants->ModulePositionX(dyc)-0.27*293*0.7071-56*0.7071-18+des;
+ Float_t posy2=constants->ModulePositionY(dyc)+0.27*293*0.7071-56*0.7071+3-des-1.5-0.8+kro;
TGeoRotation *rot1 = new TGeoRotation();
rot1->RotateZ(70);
- TGeoCombiTrans *aco7q12 = new TGeoCombiTrans("aco7q12",posx1,posy1,posz,idrotm231);
- TGeoCombiTrans *aco7q13 = new TGeoCombiTrans("aco7q13",posx2+15,posy2-10,posz,rot1);
+ TGeoCombiTrans *aco7q12 = new TGeoCombiTrans("aco7q12",posx1,posy1,poszc,idrotm231);
+ TGeoCombiTrans *aco7q13 = new TGeoCombiTrans("aco7q13",posx2+15,posy2-10,poszc,rot1);
inFace->AddNode(aCORDE7,count,aco7q12);
inFace->AddNode(aCORDE7,count+1,aco7q13);// bars 25 grades
count=count+2;
- dy++;
+ dyc++;
}
count=57;
- for(Int_t dy=15;dy<=19;dy++)
+ for(Int_t dyd=15;dyd<=19;dyd++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-56*0.7071-18+des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-q1-0.8+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)-0.27*293*0.7071-56*0.7071-18+des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-1.5-q1-0.8+kro;
+ Float_t posx1=constants->ModulePositionX(dyd)+0.1*293*0.7071-56*0.7071-18+des;
+ Float_t posy1=constants->ModulePositionY(dyd)-0.1*293*0.7071-56*0.7071+3-des-q1-0.8+kro;
+ Float_t poszd=constants->ModulePositionZ(dyd);
+ Float_t posx2=constants->ModulePositionX(dyd)-0.27*293*0.7071-56*0.7071-18+des;
+ Float_t posy2=constants->ModulePositionY(dyd)+0.27*293*0.7071-56*0.7071+3-des-1.5-q1-0.8+kro;
TGeoRotation *rot1 = new TGeoRotation();
rot1->RotateZ(70);
- TGeoCombiTrans *aco7q14 = new TGeoCombiTrans("aco7q14",posx1,posy1,posz,idrotm231);
- TGeoCombiTrans *aco7q15 = new TGeoCombiTrans("aco7q15",posx2+15,posy2-10,posz,rot1);
+ TGeoCombiTrans *aco7q14 = new TGeoCombiTrans("aco7q14",posx1,posy1,poszd,idrotm231);
+ TGeoCombiTrans *aco7q15 = new TGeoCombiTrans("aco7q15",posx2+15,posy2-10,poszd,rot1);
inFace->AddNode(aCORDE7,count,aco7q14);
inFace->AddNode(aCORDE7,count+1,aco7q15);// bars 25 grades
count=count+2;
- dy++;
+ dyd++;
}
count=25;
- for(Int_t dy=50;dy<=54;dy++)
+ for(Int_t dye=50;dye<=54;dye++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+56*0.7071+18-des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)+0.27*293*0.7071+56*0.7071+18-des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
- TGeoCombiTrans *aco7q22 = new TGeoCombiTrans("aco7q22",posx1,posy1,posz,idrotm232);
- TGeoCombiTrans *aco7q23 = new TGeoCombiTrans("aco7q23",posx2,posy2,posz,idrotm232);
+ Float_t posx1=constants->ModulePositionX(dye)-0.1*293*0.7071+56*0.7071+18-des;
+ Float_t posy1=constants->ModulePositionY(dye)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t posze=constants->ModulePositionZ(dye);
+ Float_t posx2=constants->ModulePositionX(dye)+0.27*293*0.7071+56*0.7071+18-des;
+ Float_t posy2=constants->ModulePositionY(dye)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
+ TGeoCombiTrans *aco7q22 = new TGeoCombiTrans("aco7q22",posx1,posy1,posze,idrotm232);
+ TGeoCombiTrans *aco7q23 = new TGeoCombiTrans("aco7q23",posx2,posy2,posze,idrotm232);
outFace->AddNode(aCORDE7,count,aco7q22);
outFace->AddNode(aCORDE7,count+1,aco7q23);
count=count+2;
- dy++;
+ dye++;
}
count=35;
- for(Int_t dy=57;dy<=59;dy++)
+ for(Int_t dyf=57;dyf<=59;dyf++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+56*0.7071+18-des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
- Float_t posz=constants->ModulePositionZ(dy-10);
- Float_t posx2=constants->ModulePositionX(dy)+0.27*293*0.7071+56*0.7071+18-des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
- TGeoCombiTrans *aco7q24 = new TGeoCombiTrans("aco7q24",posx1,posy1,posz,idrotm232);
- TGeoCombiTrans *aco7q25 = new TGeoCombiTrans("aco7q25",posx2,posy2,posz,idrotm232);
+ Float_t posx1=constants->ModulePositionX(dyf)-0.1*293*0.7071+56*0.7071+18-des;
+ Float_t posy1=constants->ModulePositionY(dyf)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t poszf=constants->ModulePositionZ(dyf-10);
+ Float_t posx2=constants->ModulePositionX(dyf)+0.27*293*0.7071+56*0.7071+18-des;
+ Float_t posy2=constants->ModulePositionY(dyf)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
+ TGeoCombiTrans *aco7q24 = new TGeoCombiTrans("aco7q24",posx1,posy1,poszf,idrotm232);
+ TGeoCombiTrans *aco7q25 = new TGeoCombiTrans("aco7q25",posx2,posy2,poszf,idrotm232);
outFace->AddNode(aCORDE7,count,aco7q24);
outFace->AddNode(aCORDE7,count+1,aco7q25);
count=count+2;
- dy++;
+ dyf++;
}
outFace->AddNode(aCORDE7,44,aco7q29);
count=45;
- for(Int_t dy=40;dy<=44;dy++)
+ for(Int_t dyg=40;dyg<=44;dyg++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+56*0.7071+18-des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)+0.27*293*0.7071+56*0.7071+18-des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t posx1=constants->ModulePositionX(dyg)-0.1*293*0.7071+56*0.7071+18-des;
+ Float_t posy1=constants->ModulePositionY(dyg)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t poszg=constants->ModulePositionZ(dyg);
+ Float_t posx2=constants->ModulePositionX(dyg)+0.27*293*0.7071+56*0.7071+18-des;
+ Float_t posy2=constants->ModulePositionY(dyg)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
TGeoRotation *rot1 = new TGeoRotation();
rot1->RotateZ(105);
- TGeoCombiTrans *aco7q30 = new TGeoCombiTrans("aco7q30",posx1,posy1,posz,idrotm232);
- TGeoCombiTrans *aco7q31 = new TGeoCombiTrans("aco7q31",posx2-15,posy2-10,posz,rot1);
+ TGeoCombiTrans *aco7q30 = new TGeoCombiTrans("aco7q30",posx1,posy1,poszg,idrotm232);
+ TGeoCombiTrans *aco7q31 = new TGeoCombiTrans("aco7q31",posx2-15,posy2-10,poszg,rot1);
outFace->AddNode(aCORDE7,count,aco7q30);
outFace->AddNode(aCORDE7,count+1,aco7q31);// bars 25 grades
count=count+2;
- dy++;
+ dyg++;
}
count=55;
- for(Int_t dy=45;dy<=49;dy++)
+ for(Int_t dyh=45;dyh<=49;dyh++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+56*0.7071+18-des;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
- Float_t posz=constants->ModulePositionZ(dy);
- Float_t posx2=constants->ModulePositionX(dy)+0.27*293*0.7071+56*0.7071+18-des;
- Float_t posy2=constants->ModulePositionY(dy)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t posx1=constants->ModulePositionX(dyh)-0.1*293*0.7071+56*0.7071+18-des;
+ Float_t posy1=constants->ModulePositionY(dyh)-0.1*293*0.7071-56*0.7071+3-des-s1+kro;
+ Float_t poszh=constants->ModulePositionZ(dyh);
+ Float_t posx2=constants->ModulePositionX(dyh)+0.27*293*0.7071+56*0.7071+18-des;
+ Float_t posy2=constants->ModulePositionY(dyh)+0.27*293*0.7071-56*0.7071+3-des-s1+kro;
TGeoRotation *rot1 = new TGeoRotation();
rot1->RotateZ(105);
- TGeoCombiTrans *aco7q32 = new TGeoCombiTrans("aco7q32",posx1,posy1,posz,idrotm232);
- TGeoCombiTrans *aco7q33 = new TGeoCombiTrans("aco7q33",posx2-15,posy2-10,posz,rot1);
+ TGeoCombiTrans *aco7q32 = new TGeoCombiTrans("aco7q32",posx1,posy1,poszh,idrotm232);
+ TGeoCombiTrans *aco7q33 = new TGeoCombiTrans("aco7q33",posx2-15,posy2-10,poszh,rot1);
outFace->AddNode(aCORDE7,count,aco7q32);
outFace->AddNode(aCORDE7,count+1,aco7q33);// bars 25 grades
count=count+2;
- dy++;
+ dyh++;
}
count=71;
- for(Int_t dy=0;dy<=4;dy++)
+ for(Int_t dyi=0;dyi<=4;dyi++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-4*box[0]-8+des+re;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)-0.27*293*0.7071-4*box[0]-8+des+re;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-2-des+sm;
- TGeoTranslation *aco75=new TGeoTranslation("aco75",posx1,posy1,posz1);
- TGeoTranslation *aco76=new TGeoTranslation("aco76",dyx2,dyy2,posz1);
+ Float_t posx1a=constants->ModulePositionX(dyi)+0.1*293*0.7071-4*box[0]-8+des+re;
+ Float_t posy1a=constants->ModulePositionY(dyi)-0.1*293*0.7071-box[1]-18-2-des+sm;
+ Float_t posz1a=constants->ModulePositionZ(dyi);
+ Float_t dyx2=constants->ModulePositionX(dyi)-0.27*293*0.7071-4*box[0]-8+des+re;
+ Float_t dyy2=constants->ModulePositionY(dyi)+0.27*293*0.7071-box[1]-18-2-des+sm;
+ TGeoTranslation *aco75=new TGeoTranslation("aco75",posx1a,posy1a,posz1a);
+ TGeoTranslation *aco76=new TGeoTranslation("aco76",dyx2,dyy2,posz1a);
inFace->AddNode(aCORDE7q1,count,aco75);
inFace->AddNode(aCORDE7q1,count+1,aco76);
count=count+2;
- dy++;
+ dyi++;
}
count=81;
- for(Int_t dy=5;dy<=9;dy++)
+ for(Int_t dyj=5;dyj<=9;dyj++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-4*box[0]-8+des+re;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm;
- Float_t posz1=constants->ModulePositionZ(dy+10);
- Float_t dyx2=constants->ModulePositionX(dy)-0.27*293*0.7071-4*box[0]-8+des+re;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-2-des+sm;
- TGeoTranslation *aco75=new TGeoTranslation("aco75",posx1,posy1,posz1);
- TGeoTranslation *aco76=new TGeoTranslation("aco76",dyx2,dyy2,posz1);
+ Float_t posx1b=constants->ModulePositionX(dyj)+0.1*293*0.7071-4*box[0]-8+des+re;
+ Float_t posy1b=constants->ModulePositionY(dyj)-0.1*293*0.7071-box[1]-18-2-des+sm;
+ Float_t posz1b=constants->ModulePositionZ(dyj+10);
+ Float_t dyx2=constants->ModulePositionX(dyj)-0.27*293*0.7071-4*box[0]-8+des+re;
+ Float_t dyy2=constants->ModulePositionY(dyj)+0.27*293*0.7071-box[1]-18-2-des+sm;
+ TGeoTranslation *aco75=new TGeoTranslation("aco75",posx1b,posy1b,posz1b);
+ TGeoTranslation *aco76=new TGeoTranslation("aco76",dyx2,dyy2,posz1b);
inFace->AddNode(aCORDE7q1,count,aco75);
inFace->AddNode(aCORDE7q1,count+1,aco76);
count=count+2;
- dy++;
+ dyj++;
}
inFace->AddNode(aCORDE7q1,94,aco710);
count=95;
- for(Int_t dy=10;dy<=14;dy++)
+ for(Int_t dyk=10;dyk<=14;dyk++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-4*box[0]-8+des+re+.83;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)-0.27*293*0.7071-4*box[0]-4+des+re+0.83;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-5-des+sm;
- TGeoTranslation *aco711=new TGeoTranslation("aco711",posx1,posy1,posz1);
- TGeoTranslation *aco712=new TGeoTranslation("aco712",dyx2,dyy2,posz1);
+ Float_t posx1c=constants->ModulePositionX(dyk)+0.1*293*0.7071-4*box[0]-8+des+re+.83;
+ Float_t posy1c=constants->ModulePositionY(dyk)-0.1*293*0.7071-box[1]-18-2-des+sm;
+ Float_t posz1c=constants->ModulePositionZ(dyk);
+ Float_t dyx2=constants->ModulePositionX(dyk)-0.27*293*0.7071-4*box[0]-4+des+re+0.83;
+ Float_t dyy2=constants->ModulePositionY(dyk)+0.27*293*0.7071-box[1]-18-5-des+sm;
+ TGeoTranslation *aco711=new TGeoTranslation("aco711",posx1c,posy1c,posz1c);
+ TGeoTranslation *aco712=new TGeoTranslation("aco712",dyx2,dyy2,posz1c);
inFace->AddNode(aCORDE7q1,count,aco711);
inFace->AddNode(aCORDE7q1,count+1,aco712);
count=count+2;
- dy++;
+ dyk++;
}
count=105;
- for(Int_t dy=15;dy<=19;dy++)
+ for(Int_t dyl=15;dyl<=19;dyl++)
{
- Float_t posx1=constants->ModulePositionX(dy)+0.1*293*0.7071-4*box[0]-8+des+re+0.83;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)-0.27*293*0.7071-4*box[0]-4+des+re+0.83;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-5-des;
- TGeoTranslation *aco713=new TGeoTranslation("aco713",posx1,posy1,posz1);
- TGeoTranslation *aco714=new TGeoTranslation("aco714",dyx2,dyy2,posz1);
+ Float_t posx1d=constants->ModulePositionX(dyl)+0.1*293*0.7071-4*box[0]-8+des+re+0.83;
+ Float_t posy1d=constants->ModulePositionY(dyl)-0.1*293*0.7071-box[1]-18-2-des+sm;
+ Float_t posz1d=constants->ModulePositionZ(dyl);
+ Float_t dyx2=constants->ModulePositionX(dyl)-0.27*293*0.7071-4*box[0]-4+des+re+0.83;
+ Float_t dyy2=constants->ModulePositionY(dyl)+0.27*293*0.7071-box[1]-18-5-des;
+ TGeoTranslation *aco713=new TGeoTranslation("aco713",posx1d,posy1d,posz1d);
+ TGeoTranslation *aco714=new TGeoTranslation("aco714",dyx2,dyy2,posz1d);
inFace->AddNode(aCORDE7q1,count,aco713);
inFace->AddNode(aCORDE7q1,count+1,aco714);
count=count+2;
- dy++;
+ dyl++;
}
//*** Out-Face ***
count=65;
- for(Int_t dy=50;dy<=54;dy++)
+ for(Int_t dym=50;dym<=54;dym++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+4*box[0]+8-des-re-1;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)+0.27*293*0.7071+4*box[0]+8-des-re-1;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-2-des+sm-2.5;
- TGeoTranslation *aco721=new TGeoTranslation("aco721",posx1,posy1,posz1);
- TGeoTranslation *aco722=new TGeoTranslation("aco722",dyx2,dyy2,posz1);
+ Float_t posx1e=constants->ModulePositionX(dym)-0.1*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t posy1e=constants->ModulePositionY(dym)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
+ Float_t posz1e=constants->ModulePositionZ(dym);
+ Float_t dyx2=constants->ModulePositionX(dym)+0.27*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t dyy2=constants->ModulePositionY(dym)+0.27*293*0.7071-box[1]-18-2-des+sm-2.5;
+ TGeoTranslation *aco721=new TGeoTranslation("aco721",posx1e,posy1e,posz1e);
+ TGeoTranslation *aco722=new TGeoTranslation("aco722",dyx2,dyy2,posz1e);
outFace->AddNode(aCORDE7q1,count,aco721);
outFace->AddNode(aCORDE7q1,count+1,aco722);
count=count+2;
- dy++;
+ dym++;
}
count=75;
- for(Int_t dy=57;dy<=59;dy++)
+ for(Int_t dyn=57;dyn<=59;dyn++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+4*box[0]+8-des-re-1;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
- Float_t posz1=constants->ModulePositionZ(dy-10);
- Float_t dyx2=constants->ModulePositionX(dy)+0.27*293*0.7071+4*box[0]+8-des-re-1;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-2-des+sm-2.5;
- TGeoTranslation *aco723=new TGeoTranslation("aco723",posx1,posy1,posz1);
- TGeoTranslation *aco724=new TGeoTranslation("aco724",dyx2,dyy2,posz1);
+ Float_t posx1f=constants->ModulePositionX(dyn)-0.1*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t posy1f=constants->ModulePositionY(dyn)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
+ Float_t posz1f=constants->ModulePositionZ(dyn-10);
+ Float_t dyx2=constants->ModulePositionX(dyn)+0.27*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t dyy2=constants->ModulePositionY(dyn)+0.27*293*0.7071-box[1]-18-2-des+sm-2.5;
+ TGeoTranslation *aco723=new TGeoTranslation("aco723",posx1f,posy1f,posz1f);
+ TGeoTranslation *aco724=new TGeoTranslation("aco724",dyx2,dyy2,posz1f);
outFace->AddNode(aCORDE7q1,count,aco723);
outFace->AddNode(aCORDE7q1,count+1,aco724);
count=count+2;
- dy++;
+ dyn++;
}
count=89;
- for(Int_t dy=40;dy<=44;dy++)
+ for(Int_t dyo=40;dyo<=44;dyo++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+4*box[0]+8-des-re-1;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)+0.27*293*0.7071+4*box[0]+4-des-re-1+2.8;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-5-des+sm-2.5+3;
- TGeoTranslation *aco729=new TGeoTranslation("aco729",posx1,posy1,posz1);
- TGeoTranslation *aco730=new TGeoTranslation("aco730",dyx2,dyy2,posz1);
+ Float_t posx1g=constants->ModulePositionX(dyo)-0.1*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t posy1g=constants->ModulePositionY(dyo)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
+ Float_t posz1g=constants->ModulePositionZ(dyo);
+ Float_t dyx2=constants->ModulePositionX(dyo)+0.27*293*0.7071+4*box[0]+4-des-re-1+2.8;
+ Float_t dyy2=constants->ModulePositionY(dyo)+0.27*293*0.7071-box[1]-18-5-des+sm-2.5+3;
+ TGeoTranslation *aco729=new TGeoTranslation("aco729",posx1g,posy1g,posz1g);
+ TGeoTranslation *aco730=new TGeoTranslation("aco730",dyx2,dyy2,posz1g);
outFace->AddNode(aCORDE7q1,count,aco729);
outFace->AddNode(aCORDE7q1,count+1,aco730);
count=count+2;
- dy++;
+ dyo++;
}
count=99;
- for(Int_t dy=45;dy<=49;dy++)
+ for(Int_t dyp=45;dyp<=49;dyp++)
{
- Float_t posx1=constants->ModulePositionX(dy)-0.1*293*0.7071+4*box[0]+8-des-re-1;
- Float_t posy1=constants->ModulePositionY(dy)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
- Float_t posz1=constants->ModulePositionZ(dy);
- Float_t dyx2=constants->ModulePositionX(dy)+0.27*293*0.7071+4*box[0]+4-des-re-1+2.8;
- Float_t dyy2=constants->ModulePositionY(dy)+0.27*293*0.7071-box[1]-18-5-des+sm-2.5+3;
- TGeoTranslation *aco729=new TGeoTranslation("aco729",posx1,posy1,posz1);
- TGeoTranslation *aco730=new TGeoTranslation("aco730",dyx2,dyy2,posz1);
+ Float_t posx1h=constants->ModulePositionX(dyp)-0.1*293*0.7071+4*box[0]+8-des-re-1;
+ Float_t posy1h=constants->ModulePositionY(dyp)-0.1*293*0.7071-box[1]-18-2-des+sm-2.5;
+ Float_t posz1h=constants->ModulePositionZ(dyp);
+ Float_t dyx2=constants->ModulePositionX(dyp)+0.27*293*0.7071+4*box[0]+4-des-re-1+2.8;
+ Float_t dyy2=constants->ModulePositionY(dyp)+0.27*293*0.7071-box[1]-18-5-des+sm-2.5+3;
+ TGeoTranslation *aco729=new TGeoTranslation("aco729",posx1h,posy1h,posz1h);
+ TGeoTranslation *aco730=new TGeoTranslation("aco730",dyx2,dyy2,posz1h);
outFace->AddNode(aCORDE7q1,count,aco729);
outFace->AddNode(aCORDE7q1,count+1,aco730);
count=count+2;
- dy++;
+ dyp++;
}
aCORDE->AddNode(inFace,1);//---> volume of supports & bars in-face
aCORDE->AddNode(upFace,2);//---> volume of supports & bars up-face
aCORDE->AddNode(outFace,3);//---> volume of supports & bars out-face
- aCORDE->AddNode(inFacem,4);//---> volume of modules in-face
- aCORDE->AddNode(upFacem,5);//---> volume of modules up-face
- aCORDE->AddNode(outFacem,6);//---> volume of modules out-face
+// aCORDE->AddNode(inFacem,4);//---> volume of modules in-face
+// aCORDE->AddNode(upFacem,5);//---> volume of modules up-face
+// aCORDE->AddNode(outFacem,6);//---> volume of modules out-face
+ aCORDE->AddNode(modules,4);//---> volume of ALL ACORDE's Modules
alice->AddNode(aCORDE,1);//---> put volume of ACORDE over ALICE's volume
static Float_t eloss;
static Float_t step;
// scintillator volume
- static Int_t idScint = gMC->VolId("ACORDE2");
-
+ static Int_t idScint = gMC->VolId("ACORDE2");
// local variables
Int_t copy;
TLorentzVector pos;
// only in sensitive material
if (gMC->CurrentVolID(copy) == idScint) {
- printf("Hay particula cargada en el volumen %d \n",idScint);
step += gMC->TrackStep();
eloss += gMC->Edep();
// set all hit variables except eloss which is resetted
hits[0] = (Float_t ) gMC->TrackPid();
- hits[1] = pos[0]; printf("PosX %f \n",hits[1]);
- hits[2] = pos[1]; printf("PosY %f \n",hits[2]);
- hits[3] = pos[2]; printf("PosZ %f \n",hits[3]);
- hits[4] = gMC->TrackTime();printf("TimeTracking %f \n",hits[4]);
- hits[5] = mom[0]; printf("MomentoX %f \n",hits[5]);
- hits[6] = mom[1]; printf("MomentoY %f \n",hits[6]);
- hits[7] = mom[2]; printf("MomentoZ %f \n",hits[7]);
- hits[8] = gMC->Etot();printf("EnergiaTotal %f \n",hits[8]);
+ hits[1] = pos[0];
+ hits[2] = pos[1];
+ hits[3] = pos[2];
+ hits[4] = gMC->TrackTime();
+ hits[5] = mom[0];
+ hits[6] = mom[1];
+ hits[7] = mom[2];
+ hits[8] = gMC->Etot();
// volume:
// [0] = module number 1-60 (1==>(0-0), 60 (5-9)
// [1] = Plastic number: 0 (down) to 1 (up)
// module
vol[0] = copyModule;
// plastic: 0 = down, 1 = up
- vol[1] = copyPlastic;
+ vol[1] = copyPlastic - 4 ; // !!!!!!!
+ // vol[1] = copyPlastic;
} // end if gMC->IsTrackEntering()
// set hit[9] = total energy loss and book hit
if( gMC->IsTrackExiting() ||
gMC->IsTrackStop() ||
gMC->IsTrackDisappeared()){
- hits[9] = eloss;printf("Energia Perdida %f \n",hits[9]);
+ hits[9] = eloss;
hits[10] = step;
eloss = 0.0;
step = 0.0;
AddHit(gAlice->GetMCApp()->GetCurrentTrackNumber(),vol, hits);
- }
+ }
}
}
-
-
//_____________________________________________________________________________
void AliACORDEv1::AddHit(Int_t track, Int_t *vol, Float_t *hits)
{
//
- // Add a ACORDE hit
+ // Add an ACORDE hit
//
TClonesArray &lhits = *fHits;
new(lhits[fNhits++]) AliACORDEhit(fIshunt,track,vol,hits);
}
+//_____________________________________________________________________________
+void AliACORDEv1::AddDigits(Int_t* track, Int_t module, Float_t time)
+{
+
+ // Adds Digit
+
+ TClonesArray &ldigits = *fDigits;
+ new(ldigits[fNdigits++]) AliACORDEdigit(track,module,time);
+}
+//_____________________________________________________________________________
+
+
+
+//_____________________________________________________________________________
+void AliACORDEv1::MakeBranch(Option_t *option)
+{
+// Creates new branches in the current Root Tree
+
+ char branchname[10];
+ sprintf(branchname,"%s",GetName());
+ AliDebug(2,Form("fBufferSize = %d",fBufferSize));
+ const char *cH = strstr(option,"H");
+ if (fHits && TreeH() && cH) {
+ TreeH()->Branch(branchname,&fHits, fBufferSize);
+ AliDebug(2,Form("Making Branch %s for hits",branchname));
+ }
+ const char *cD = strstr(option,"D");
+ if (fDigits && fLoader->TreeD() && cD) {
+ fLoader->TreeD()->Branch(branchname,&fDigits, fBufferSize);
+ AliDebug(2,Form("Making Branch %s for digits",branchname));
+ }
+}
+
+//_____________________________________________________________________________
+void AliACORDEv1::AddAlignableVolumes() const
+{
+ //
+ // Create entries for alignable volumes associating the symbolic volume
+ // name with the corresponding volume path. Needs to be syncronized with
+ // eventual changes in the geometry.
+ //
+
+ // The alignable volumes are only the "ACORDE_MODULE_%d"
+ //
+ // Structure of ACORDE's Geometry
+ //
+ // ALIC_1
+ // |---> ACORDE_1
+ // |----> ACORDE_1_1 (in_face) ---
+ // |----> ACORDE_2_2 (up_face) |--> BARS&SUPPORTS
+ // |----> ACORDE_3_3 (out_face)---
+ // |----> ACORDE_MODULES_4 |--> ACORDE'S MODULES
+ //
+ //
+ // Send comments to: Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch>
+
+ TString vpstr1 = "ALIC_1/ACORDE_1/ALL_ACORDE_MODULES_4/ACORDE_MODULE_";
+ TString snstr1 = "ACORDE/Array";
+ TString volpath, symname;
+ for(Int_t dy=1; dy<61 ; dy++)
+ {
+ volpath = vpstr1;
+ volpath += dy;
+ symname = snstr1;
+ symname += dy;
+ if(!gGeoManager->SetAlignableEntry(symname.Data(),volpath.Data()))
+ AliFatal(Form("Alignable entry %s not created. Volume path %s not valid", symname.Data(),volpath.Data()));
+ }
+}