//
char ch[30];
- sprintf(ch, "ITS_%s",mediumName);
+ snprintf(ch, 30, "ITS_%s",mediumName);
TGeoMedium* medium = gGeoManager->GetMedium(ch);
if (! medium)
printf("Error(AliITSv11GeometrySDD)::medium %s not found !\n", mediumName);
//********************************************************************
char cableName[30];
for (Int_t i=0; i<fgkLay3Ndet; i++) {
- sprintf(cableName, "digitCableLay3A_%i",i);
+ snprintf(cableName, 30, "digitCableLay3A_%i",i);
fDigitCableLay3A[i].SetName(cableName);
fDigitCableLay3A[i].SetWidth(fgkDigitCablWidth);
fDigitCableLay3A[i].SetThickness(fgkDigitCablPolyThick+fgkDigitCablAlThick);
fDigitCableLay3A[i].SetLayer( 0, fgkDigitCablPolyThick, polyhamideSDD,
fColorPolyhamide);
fDigitCableLay3A[i].SetLayer(1, fgkDigitCablAlThick, alSDD, fColorAl);
- sprintf(cableName, "digitCableLay3B_%i",i);
+ snprintf(cableName, 30, "digitCableLay3B_%i",i);
fDigitCableLay3B[i].SetName(cableName);
fDigitCableLay3B[i].SetWidth(fgkDigitCablWidth);
fDigitCableLay3B[i].SetThickness(fgkDigitCablPolyThick+fgkDigitCablAlThick);
fDigitCableLay3B[i].SetLayer(1, fgkDigitCablAlThick, alSDD, fColorAl);
};
for (Int_t i=0; i<fgkLay4Ndet; i++) {
- sprintf(cableName, "digitCableLay4A_%i",i);
+ snprintf(cableName, 30, "digitCableLay4A_%i",i);
fDigitCableLay4A[i].SetName(cableName);
fDigitCableLay4A[i].SetWidth(fgkDigitCablWidth);
fDigitCableLay4A[i].SetThickness(fgkDigitCablPolyThick+fgkDigitCablAlThick);
fDigitCableLay4A[i].SetLayer( 0, fgkDigitCablPolyThick, polyhamideSDD,
fColorPolyhamide);
fDigitCableLay4A[i].SetLayer(1, fgkDigitCablAlThick, alSDD, fColorAl);
- sprintf(cableName, "digitCableLay4B_%i",i);
+ snprintf(cableName, 30, "digitCableLay4B_%i",i);
fDigitCableLay4B[i].SetName(cableName);
fDigitCableLay4B[i].SetWidth(fgkDigitCablWidth);
fDigitCableLay4B[i].SetThickness(fgkDigitCablPolyThick+fgkDigitCablAlThick);
for (Int_t iLadd = iLaddMin; iLadd < iLaddMax; iLadd++) {
Double_t ladderPhi = -3*dPhi+iLadd*dPhi;
- sprintf(rotName, "ITSsddLay3Ladd%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay3Ladd%i",iLadd);
Double_t minRadiusLadBox = fLay3LaddShortRadius-fLay3LadderUnderSegDH;
if (iLadd%2 != 0)
minRadiusLadBox = fLay3LaddLongRadius-fLay3LadderUnderSegDH;
0, ladderPhi, kFALSE);
virtualLayer3->AddNode(lay3Ladder, iLadd, ctLadd);
///////////////////////////////////////////////////
- sprintf(rotName, "ITSsddLay3DetBox%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay3DetBox%i",iLadd);
Double_t minRadiusDetBox = fgkLay3DetShortRadius;
if (iLadd%2 != 0) minRadiusDetBox = fgkLay3DetLongRadius;
minRadiusDetBox += detectorsThick/2;
Double_t dR = 0;
if (iLadd%2 != 0) dR = fgkLay3DetLongRadius-fgkLay3DetShortRadius;
- sprintf(rotName, "ITSsddLay3EndLadd%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay3EndLadd%i",iLadd);
TGeoCombiTrans *ctEndLaddPos = CreateCombiTrans(rotName, dR,
fgkLay3Length/2, ladderPhi, kTRUE);
// placing virtual ladder and detectors volumes following ladder
// ordering convention
- char rotName[20];
+ char rotName[30];
Int_t iLaddMin = 0;
Int_t iLaddMax = fgkLay4Nladd;
if ((fAddOnlyLadder4min >= 0)&&(fAddOnlyLadder4max < fgkLay4Nladd)) {
for (Int_t iLadd = iLaddMin; iLadd < iLaddMax; iLadd++) {
Double_t ladderPhi = -5*dPhi + iLadd*dPhi;
- sprintf(rotName, "ITSsddLay4Ladd%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay4Ladd%i",iLadd);
Double_t minRadiusLadBox = fLay4LaddShortRadius-fLay4LadderUnderSegDH;
if (iLadd%2 != 0)
minRadiusLadBox = fLay4LaddLongRadius-fLay4LadderUnderSegDH;
0, ladderPhi, kTRUE);
virtualLayer4->AddNode(lay4Ladder, iLadd, ctLadd);
///////////////////////////////////////////////////
- sprintf(rotName, "ITSsddLay4DetBox%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay4DetBox%i",iLadd);
Double_t minRadiusDetBox = fgkLay4DetShortRadius;
if (iLadd%2 != 0)
minRadiusDetBox = fgkLay4DetLongRadius;
if (iLadd%2 != 0)
dR = fgkLay4DetLongRadius-fgkLay4DetShortRadius;
- sprintf(rotName, "ITSsddLay4EndLadd%i",iLadd);
+ snprintf(rotName, 30, "ITSsddLay4EndLadd%i",iLadd);
TGeoCombiTrans *ctEndLaddPos = CreateCombiTrans(rotName, dR,
fgkLay4Length/2, ladderPhi, kTRUE);
//TGeoVolumeAssembly *laddSegment = CreateLadderSegment(iLay, iSegment);
TGeoVolume *laddSegment = CreateLadderSegment(iLay, iSegment);
- sprintf(transName, "ITSsddLay%iLaddSeg%i", iLay, iSegment);
+ snprintf(transName, 30, "ITSsddLay%iLaddSeg%i", iLay, iSegment);
Double_t segmentPos = fgkSegmentLength*(nDetectors/2-1-iSegment)
+ fgkSegmentLength/2;
TGeoTranslation *segTr = new TGeoTranslation(transName, 0,
TGeoVolume *laddSegment = CreateLadderSegment(iLay, iSegment);
//TGeoVolumeAssembly *laddSegment = CreateLadderSegment(iLay, iSegment);
- sprintf(transName, "ITSsddLay%iLaddSeg%i", iLay, iSegment);
+ snprintf(transName, 30, "ITSsddLay%iLaddSeg%i", iLay, iSegment);
Double_t segmentPos = fgkSegmentLength*(nDetectors/2-1-iSegment)
+ fgkSegmentLength/2;
TGeoTranslation *segTr = new TGeoTranslation(transName, 0,
AliITSv11GeomCableFlat cableHV[fgkLay4Ndet]; // temp !!!
char cableHVname[30];
for (Int_t iSegment = 0; iSegment<nDetectors; iSegment++) {
- sprintf(cableHVname,"ITSsddHVcable%i", iSegment);
+ snprintf(cableHVname,30,"ITSsddHVcable%i", iSegment);
cableHV[iSegment].SetName(cableHVname);
cableHV[iSegment].SetThickness(fgkLongHVcablePolyThick+fgkLongHVcableAlThick);
cableHV[iSegment].SetWidth(fgkTransitHVtailWidth);
Double_t vX[3] = {1,0,0};
for (Int_t i=0; i<3; i++) {
char ch[20];
- sprintf(ch, "lowFLpieceA%i", i+4);
+ snprintf(ch, 20, "lowFLpieceA%i", i+4);
lowFLpiece.SetName(ch);
lowFLpiece.SetWidth(zChips[i+1]-zChips[i]-fgkHybFLlowHoleDZ);
lowFLpiece.CreateAndInsertBoxCableSegment(1,90);
lowFLpiece.ResetPoints();
- sprintf(ch, "lowFLpieceB%i", i+4);
+ snprintf(ch, 20, "lowFLpieceB%i", i+4);
lowFLpiece.SetName(ch);
x1[0] = fgkHybridWidth/2 - piece3width;
x2[0] = x1[0] - fgkHybFLlowHoleAmbDX;
char ch[20];
for (Int_t i=0; i<4; i++) {
- sprintf(ch, "pascalCC%i", i);
+ snprintf(ch, 20, "pascalCC%i", i);
chip.SetName(ch);
x1[0] = fgkHybFLlowPasX - fgkHybridWidth/2 - fgkHybPascalDX/2;
x2[0] = x1[0] + fgkHybPascalDX;
chip.CreateAndInsertBoxCableSegment(1,-90);
chip.ResetPoints();
- sprintf(ch, "ambraCC%i", i);
+ snprintf(ch, 20, "ambraCC%i", i);
chip.SetName(ch);
x1[0] = fgkHybFLlowAmbX - fgkHybridWidth/2 - fgkHybAmbraDX/2;
x2[0] = x1[0] + fgkHybAmbraDX;
//**************************************************** CC outside chips:
// I don't think there is a second aluminium layer here ...
for (Int_t i = 0; i<4; i++) {
- sprintf(ch, "ccLayerA%i", i);
+ snprintf(ch, 20, "ccLayerA%i", i);
AliITSv11GeomCableFlat ccLayer1(ch, 6.6*fgkmm, ccUpLayerTotThick);
ccLayer1.SetInitialNode(hybrid);
ccLayer1.AddCheckPoint( hybrid, 1, x2, vX );
ccLayer1.CreateAndInsertBoxCableSegment(1,-90);
- sprintf(ch, "ccLayerB%i", i);
+ snprintf(ch, 20, "ccLayerB%i", i);
AliITSv11GeomCableFlat ccLayer2(ch, fgkHybChipsDZ, ccUpLayerTotThick);
ccLayer2.SetInitialNode(hybrid);
ccLayer2.SetNLayers(2);
ccLayer2.AddCheckPoint( hybrid, 1, x2, vX );
ccLayer2.CreateAndInsertBoxCableSegment(1,-90);
ccLayer2.ResetPoints();
- sprintf(ch, "ccLayerC%i", i);
+ snprintf(ch, 20, "ccLayerC%i", i);
ccLayer2.SetName(ch);
x1[0] = -fgkHybridWidth/2 + fgkHybFLlowAmbX + fgkHybAmbraDX/2;
x2[0] = fgkHybridWidth/2 - fgkHybFLUpperWidth + 3*fgkmm;
ccToSensPoliSh->DefineSection(0, 0.);
ccToSensPoliSh->DefineSection(1, ccLayer1.GetThickness());
- sprintf(ch, "ccToSens%i", i);
+ snprintf(ch, 20, "ccToSens%i", i);
TGeoVolume* ccToSensPoliVol = new TGeoVolume(ch, ccToSensPoliSh, polyhamideSDD);
ccToSensPoliVol->SetLineColor(fColorPolyhamide);
ccToSensAlSh->DefineSection(0, 0.);
ccToSensAlSh->DefineSection(1, fgkHybAlCCThick);
- sprintf(ch, "ccToSensAl%i", i);
+ snprintf(ch, 20, "ccToSensAl%i", i);
TGeoVolume* ccToSensAlVol = new TGeoVolume(ch, ccToSensAlSh, alSDD50p100);
ccToSensAlVol->SetLineColor(fColorAl);
};
char name[30];
- sprintf(name,"ITSsddDetBox%i",iLay);
+ snprintf(name,30,"ITSsddDetBox%i",iLay);
TGeoVolumeAssembly *virtualDet = new TGeoVolumeAssembly("ITSsddLadd");
Double_t localY = fgkLadWaferSep/2+fgkWaferThickness/2;
if (iLay==3) if (i%2!=0) localY = -localY;
if (iLay==4) if (i%2==0) localY = -localY;
- sprintf(name, "ITSsddLay%iSensorPos%i",iLay, i);
+ snprintf(name, 30, "ITSsddLay%iSensorPos%i",iLay, i);
if (i >= nDetectors/2) {
TGeoTranslation *sensorPos = new TGeoTranslation(0,localY,localZ);
TGeoVolume *sensorSDD = fSDDsensor3;
char name[30];
- sprintf(name,"ITSsddDetBoxLadd2");
+ snprintf(name,30,"ITSsddDetBoxLadd2");
TGeoVolumeAssembly *virtualDet = new TGeoVolumeAssembly("ITSsddLadd");
Double_t localZ = (-1.)*sensorZPos[nDetectors-1-i];
Double_t localY = fgkLadWaferSep/2+fgkWaferThickness/2;
if (i%2==0) localY = -localY;
- sprintf(name, "ITSsddLayLadd2SensorPos%i", i);
+ snprintf(name, 30, "ITSsddLayLadd2SensorPos%i", i);
if (i >= nDetectors/2) {
TGeoTranslation *sensorPos = new TGeoTranslation(0,localY,localZ);
Int_t firstSDDmod = startMod;
for (Int_t iLay=0; iLay<kNLay; iLay++) {
/////////////////////////////////////////
- sprintf(layerName, "ITSsddLayer%i_1",iLay+3);
+ snprintf(layerName, 30, "ITSsddLayer%i_1",iLay+3);
TGeoNode *layNode = fMotherVol->GetNode(layerName);
if (layNode) {
if (GetDebug(1)) printf("%s\n",layNode->GetName());
for (Int_t iLadd=0; iLadd<kNLadd[iLay]; iLadd++) {
/////////////////////////////////////////
- sprintf(ladderName, "ITSsddLadd_%i", iLadd);
+ snprintf(ladderName, 30, "ITSsddLadd_%i", iLadd);
TGeoNode *laddNode = layVolume->GetNode(ladderName);
if (laddNode) {
if (GetDebug(1)) printf("| %s\n",laddNode->GetName());
for (Int_t iDet=0; iDet<kNDet[iLay]; iDet++) {
/////////////////////////////////////////
- sprintf(sensorName, "ITSsddSensor_%i",iDet);
+ snprintf(sensorName, 30, "ITSsddSensor_%i",iDet);
TGeoNode *detNode = laddVolume->GetNode(sensorName);
if (detNode) {
if (GetDebug(1)) printf("| | %s\n",detNode->GetName());
TGeoHMatrix wafMatrix(detMatrix);
detMatrix.Multiply(wafNode->GetMatrix());
//--------------------------------------------------------
- sprintf(senstivName, "%s%s", fgSDDsensitiveVolName3,"_1");
+ snprintf(senstivName, 30, "%s%s", fgSDDsensitiveVolName3,"_1");
TGeoNode *sensitivNode = wafVolume->GetNode(senstivName);
if (sensitivNode) {
TGeoHMatrix sensMatrix(wafMatrix);
TGeoMedium *opticalFiber = GetMedium("SDD OPTICFIB$");
char titleCable[30];
- sprintf(titleCable,"cableSDDport%i",(Int_t)angle);
+ snprintf(titleCable,30,"cableSDDport%i",(Int_t)angle);
//---
Double_t section = (fgkSectionCuPerMod+fgkSectionPlastPerMod+fgkSectionGlassPerMod)*(nLay3+nLay4);
//
Char_t itsMediumName[30];
- sprintf(itsMediumName, "ITS_%s", mediumName);
+ snprintf(itsMediumName, 30, "ITS_%s", mediumName);
TGeoMedium* medium = mgr->GetMedium(itsMediumName);
if (!medium) AliError(Form("Medium <%s> not found", mediumName));
} // end if itype==1
switch (itype) {
case 0:
- sprintf(type,"Kap");
+ snprintf(type,10,"Kap");
break;
case 1:
- sprintf(type,"Alu");
+ snprintf(type,10, "Alu");
break;
case 2:
- sprintf(type,"Glue1");
+ snprintf(type,10,"Glue1");
break;
case 3:
- sprintf(type,"Glue2");
+ snprintf(type,10,"Glue2");
break;
}
// we divide the shape in several slices along the horizontal
shGroundFull = new TGeoBBox(Form("ITSSPDSHgFoil%sFull", type),
0.5*length,0.5*width, 0.5*thickness);
+ if(GetDebug(5)) shGroundFull->Print(); // Avoid Coverity warning
+
// create the polygonal shape to be subtracted to give the correct
// shape to the borders its vertices are defined in sugh a way that
// this polygonal will be placed in the correct place considered
holeX += holeSepX2;
} // end if else if's
//cout << i << " --> X = " << holeX << endl;
- sprintf(name,"ITSSPDTRgFoil%sHole%d", type, i);
+ snprintf(name,200,"ITSSPDTRgFoil%sHole%d", type, i);
transHole[i] = new TGeoTranslation(name, holeX, holeY, 0.0);
transHole[i]->RegisterYourself();
strComposite.Append(Form("ITSSPD%sGfoilHole:%s", type, name));
// create a suffix to be used in the names of all shapes
//
char suf[5];
- if (isRight) strcpy(suf, "R"); else strcpy(suf, "L");
+ if (isRight) strncpy(suf, "R", 5); else strncpy(suf, "L", 5);
// this volume will be created in order to ease its placement in
// the half-stave; then, it is added here the small distance of
// the "central" edge of each volume from the Z=0 plane in the stave
// to distinguish the "left" and "right" objects, a suffix is created
char suf[5];
- if (isRight) strcpy(suf, "R"); else strcpy(suf, "L");
+ if (isRight) strncpy(suf, "R", 5); else strncpy(suf, "L", 5);
// ** MEDIA **
TGeoMedium *medBase = GetMedium("SPD KAPTON(POLYCH2)$",mgr);// ??? MCM BASE
0.5*capWidth, 0.5*capLength);
char extname[12];
- sprintf(extname,"Extender1l%d",ilayer);
+ snprintf(extname,12,"Extender1l%d",ilayer);
TGeoVolume *ext1 = mgr->MakeBox(extname, medExt, 0.5*extThickness, 0.5*extWidth, 0.5*ext1Length);
- sprintf(extname,"Extender2l%d",ilayer);
+ snprintf(extname,12,"Extender2l%d",ilayer);
TGeoVolume *ext2 = mgr->MakeBox(extname, medExt, 0.5*extHeight - 2.*extThickness, 0.5*extWidth, 0.5*extThickness);
TGeoVolume *ext3=0;
- sprintf(extname,"Extender3l%d",ilayer);
+ snprintf(extname,12,"Extender3l%d",ilayer);
if (ilayer==1) {
Double_t halflen=(0.5*ext2Length + extThickness);
Double_t xprof[6],yprof[6];
0.5*cableW2,
0.5*thickness);
Char_t string[255];
- sprintf(string, "%s-%s", shOut->GetName(), shIn->GetName());
+ snprintf(string, 255, "%s-%s", shOut->GetName(), shIn->GetName());
TGeoCompositeShape *shPlate = new TGeoCompositeShape("ITSSPDPlate_shape",
string);