/*
$Log$
+Revision 1.25 2000/10/02 21:28:18 fca
+Removal of useless dependecies via forward declarations
+
Revision 1.24 2000/08/28 10:02:30 kowal2
Corrected bug in the StepManager
Int_t nRotMat = 0;
- Int_t i,ifl1,ifl2=0;
+ Int_t i,ifl1=0;
// number of sectors
ifl1 = 1;
}
+ if (ifl1 == 0) {
+ printf("*** ERROR: AT LEAST ONE LOWER SECTOR MUST BE SPECIFIED ***\n");
+ printf("!!! PROGRAM STOPPED !!!\n");
+ exit(1);
+ }
+
if (fSecAU >= 0) {
- ifl2 = 0;
for (i = 0; i < 12; ++i) {
if (fSecUps[i] > 2*nInnerSector-1 &&
fSecUps[i] < 2*(nInnerSector+nOuterSector)) {
- ifl2 = 1;
printf("*** SECTOR %d selected\n",fSecUps[i]);
}
}
} else {
printf("*** ALL UPPER SECTORS SELECTED ***\n");
- ifl1 = 1;
}
- if (ifl1 == 0 && ifl2 == 0) {
- printf("*** ERROR: AT LEAST ONE SECTOR MUST BE SPECIFIED ***\n");
- printf("!!! PROGRAM STOPPED !!!\n");
- exit(1);
- }
-
- if ((fSecAL < 0 || fSecAU < 0) && fSens >= 0) {
- printf("** ERROR: STRIPS CANNOT BE SPECIFIED FOR ALL SECTORS **\n");
- printf("!!! PROGRAM STOPPED !!!\n");
- exit(1);
- }
+
//--------------------------------------------------------------------
gMC->Gsvolu("TPUS", "TRD1", idtmed[2], dm, 4); // sensitive
- // if sensitive strips selected
- if(fSens >= 0){
gMC->Gsvolu("TPSS","TRD1",idtmed[2],dm,0); // sensitive
// inner sector
- nofStrips = fTPCParam->GetNRowLow();
+
+ // if all lower sectors selected define only 1 strip
+
+ nofStrips=((fSecAL <0)||(fSecAL>=0 && fSens<0)) ? 1 : fTPCParam->GetNRowLow();
deadSpace = fTPCParam->GetInnerWireMount();
dm[2] = 0.5*(250. - 0.3);
dm[3] = 0.5 * stripThick;
+
for(nstr=0;nstr<nofStrips;nstr++){
r1 = fTPCParam->GetPadRowRadiiLow(nstr);
gMC->Gsposp("TPSS", nstr+1, "TPLS", 0., 0., zs, 0, "ONLY", dm, 4);
- gMC->Gsord("TPLS",3);
}
+ // strips only if several upper sectors selected end fSens > 0
+
+ if(fSecAU >=0 && fSens >0){
+
Int_t nsSave = nofStrips;
// outer sector
dm[2] = 0.5*(250. - 0.3);
dm[3] = 0.5 * stripThick;
+
for(nstr=0;nstr<nofStrips;nstr++){
gMC->Gsposp("TPSS", nstr+1+nsSave, "TPUS", 0., 0., zs, 0, "ONLY", dm, 4);
}
- } // if strips
+ }
//-------------------------------------------------------
// positioning of the empty spaces into the main wheel
gMC->Gspos("TSSW",2,"TPC ",0.,0.,-278.7,0,"ONLY");
gMC->Gsord("TPMW",6);
- gMC->Gsord("TPLS",3);
- gMC->Gsord("TPUS",3);
+ if(fSecAL >=0) gMC->Gsord("TPLS",3);
+ if(fSecAU >=0 && fSens >0) gMC->Gsord("TPUS",3);
gMC->Gsord("TDGN",6);
gMC->Gsord("TSSW",6);
gMC->Gsord("TSWC",6);
Int_t *idtmed = fIdtmed->GetArray();
AliTPC::Init();
- fIdSens=gMC->VolId("TPSS"); // sensitive strips (not always used)
- fIdLSec=gMC->VolId("TPLS"); // lower sector
+
+
+
+ fIdSens=gMC->VolId("TPSS");
+
+ fIdLSec=gMC->VolId("TPLS"); // lower sector
fIdUSec=gMC->VolId("TPUS"); // upper sector
gMC->SetMaxNStep(30000); // max. number of steps increased