Cosmetically sanitize ITS visualization code.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Sep 2009 18:37:08 +0000 (18:37 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Sep 2009 18:37:08 +0000 (18:37 +0000)
EVE/EveDet/AliEveITSDigitsInfo.cxx
EVE/EveDet/AliEveITSDigitsInfo.h
EVE/EveDet/AliEveITSModule.cxx
EVE/alice-macros/its_common_foos.C

index bbed0f3..f15b923 100644 (file)
@@ -33,7 +33,6 @@
 
 #include <TGeoMatrix.h>
 #include <TEveTrans.h>
-//#include <TClonesArray.h>
 
 #include <TMath.h>
 #include <TVector3.h>
@@ -74,6 +73,8 @@ AliEveITSModuleSelection::AliEveITSModuleSelection():
 
 ClassImp(AliEveITSDigitsInfo)
 
+AliITSDDLModuleMapSDD* AliEveITSDigitsInfo::fgDDLMapSDD = 0;
+
 /******************************************************************************/
 
 AliEveITSDigitsInfo::AliEveITSDigitsInfo() :
@@ -81,7 +82,6 @@ AliEveITSDigitsInfo::AliEveITSDigitsInfo() :
   TEveRefCnt(),
   fTree       (0),
   fSegSPD     (0), fSegSDD     (0), fSegSSD     (0),
-  fDDLMapSDD  (0),
   fSPDMinVal  (0), fSSDMinVal  (0), fSDDMinVal  (0),
   fSPDMaxVal  (0), fSSDMaxVal  (0), fSDDMaxVal  (0),
   fSPDHighLim (0), fSDDHighLim (0), fSSDHighLim (0),
@@ -149,31 +149,42 @@ void AliEveITSDigitsInfo::InitInternals()
   fSSDScale[2] = 9;
   fSSDScale[3] = 20;
   fSSDScale[4] = 30;
-  
-  fDDLMapSDD = new AliITSDDLModuleMapSDD();
-  AliCDBManager *man       = AliCDBManager::Instance();
-  Bool_t cacheStatus = man->GetCacheFlag();
-  AliCDBEntry   *ddlMapSDD = man->Get("ITS/Calib/DDLMapSDD");
-  ddlMapSDD->SetOwner(kTRUE);
-  if (!ddlMapSDD) {
-    AliWarning("SDD DDL map file retrieval from OCDB failed! - Use default DDL map");
-  } else {
-    AliITSDDLModuleMapSDD *ddlsdd = (AliITSDDLModuleMapSDD*)ddlMapSDD->GetObject();
-    if (!ddlsdd) {
-      AliWarning("SDD DDL map object not found in OCDB file! - Use default DDL map");
-    } else {
-      if(!cacheStatus)ddlMapSDD->SetObject(NULL);
-      ddlMapSDD->SetOwner(kTRUE);
-      fDDLMapSDD->SetDDLMap(ddlsdd);
+
+  if (fgDDLMapSDD == 0)
+  {
+    fgDDLMapSDD = new AliITSDDLModuleMapSDD();
+    AliCDBManager *man = AliCDBManager::Instance();
+    Bool_t cacheStatus = man->GetCacheFlag();
+    AliCDBEntry   *ddlMapSDD = man->Get("ITS/Calib/DDLMapSDD");
+
+    if (!ddlMapSDD)
+    {
+      AliWarning("SDD DDL map file retrieval from OCDB failed! - Use default DDL map");
+    }
+    else
+    {
+      AliITSDDLModuleMapSDD *ddlsdd = (AliITSDDLModuleMapSDD*)ddlMapSDD->GetObject();
+      if (!ddlsdd)
+      {
+       AliWarning("SDD DDL map object not found in OCDB file! - Use default DDL map");
+      }
+      else
+      {
+       if (!cacheStatus)
+         ddlMapSDD->SetObject(0);
+       ddlMapSDD->SetOwner(kTRUE);
+       fgDDLMapSDD->SetDDLMap(ddlsdd);
+      }
     }
+
+    if (!cacheStatus)
+      delete ddlMapSDD;
   }
-  if(!cacheStatus)
-    delete ddlMapSDD;
 }
 
 /******************************************************************************/
 
-AliEveITSDigitsInfo:: ~AliEveITSDigitsInfo()
+AliEveITSDigitsInfo::~AliEveITSDigitsInfo()
 {
   // Destructor.
   // Deletes the data-maps.
@@ -186,7 +197,7 @@ AliEveITSDigitsInfo:: ~AliEveITSDigitsInfo()
     delete j->second;
   for (j = fSSDmap.begin(); j != fSSDmap.end(); ++j)
     delete j->second;
-  delete fDDLMapSDD;
+
   delete fSegSPD; delete fSegSDD; delete fSegSSD;
 }
 
@@ -234,8 +245,8 @@ void AliEveITSDigitsInfo::ReadRaw(AliRawReader* raw, Int_t mode)
 
   if ((mode & 4) || (mode & 8))
   {
-    AliITSRawStream* inputSDD=AliITSRawStreamSDD::CreateRawStreamSDD(raw);
-    inputSDD->SetDDLModuleMap(fDDLMapSDD);
+    AliITSRawStream* inputSDD = AliITSRawStreamSDD::CreateRawStreamSDD(raw);
+    inputSDD->SetDDLModuleMap(fgDDLMapSDD);
     TClonesArray* digits = 0;
     while (inputSDD->Next())
     {
@@ -302,24 +313,29 @@ void AliEveITSDigitsInfo::SetITSSegmentation()
   // SPD
   fSegSPD = new AliITSsegmentationSPD("TGeo");
 
-  Int_t m;
-  Float_t fNzSPD=160;
-  Float_t fZ1pitchSPD=0.0425; Float_t fZ2pitchSPD=0.0625;
-  Float_t fHlSPD=3.48;
+  Float_t fNzSPD = 160;
+  Float_t fHlSPD = 3.48;
+  Float_t fZ1pitchSPD = 0.0425, fZ2pitchSPD = 0.0625;
 
   fSPDZCoord[0] = fZ1pitchSPD - fHlSPD;
-  for (m=1; m<fNzSPD; m++) {
-    Double_t dz=fZ1pitchSPD;
-    if (m==31 || m==32 || m==63  || m==64  || m==95 || m==96 ||
-        m==127 || m==128) dz=fZ2pitchSPD;
-    fSPDZCoord[m]=fSPDZCoord[m-1]+dz;
+  for (Int_t m=1; m<fNzSPD; m++)
+  {
+    Float_t dz = fZ1pitchSPD;
+    if (m==31 || m==32 || m==63 || m==64 || m==95 || m==96 || m==127 || m==128)
+    {
+      dz = fZ2pitchSPD;
+    }
+    fSPDZCoord[m] = fSPDZCoord[m-1] + dz;
   }
 
-  for (m=0; m<fNzSPD; m++) {
-    Double_t dz=1.*fZ1pitchSPD;
-    if (m==31 || m==32 || m==63  || m==64  || m==95 || m==96 ||
-       m==127 || m==128) dz=1.*fZ2pitchSPD;
-    fSPDZCoord[m]-=dz;
+  for (Int_t m=0; m<fNzSPD; m++)
+  {
+    Float_t dz = fZ1pitchSPD;
+    if (m==31 || m==32 || m==63 || m==64 || m==95 || m==96 || m==127 || m==128)
+    {
+      dz = fZ2pitchSPD;
+    }
+    fSPDZCoord[m] -= dz;
   }
 
   // SDD
@@ -341,65 +357,62 @@ TClonesArray* AliEveITSDigitsInfo::GetDigits(Int_t mod, Int_t subdet)
   {
     case 0:
     {
-      TClonesArray* digitsSPD = 0;
       std::map<Int_t, TClonesArray*>::iterator i = fSPDmap.find(mod);
-      if (i == fSPDmap.end()) {
-       if (fTree) {
-         TBranch* br =  fTree->GetBranch("ITSDigitsSPD");
-         br->SetAddress(&digitsSPD);
-         br->GetEntry(mod);
-         fSPDmap[mod] = digitsSPD;
-         return digitsSPD;
-       }
-       else
-         return NULL;
-      } else {
+      if (i != fSPDmap.end())
+      {
        return i->second;
       }
+      else if (fTree)
+      {
+       TClonesArray *digitsSPD = 0;
+       TBranch *br = fTree->GetBranch("ITSDigitsSPD");
+       br->SetAddress(&digitsSPD);
+       br->GetEntry(mod);
+       fSPDmap[mod] = digitsSPD;
+       return digitsSPD;
+      }
       break;
     }
+
     case 1:
     {
-      TClonesArray* digitsSDD = 0;
       std::map<Int_t, TClonesArray*>::iterator i = fSDDmap.find(mod);
-      if (i == fSDDmap.end()) {
-       if (fTree) {
-         TBranch* br =  fTree->GetBranch("ITSDigitsSDD");
-         br->SetAddress(&digitsSDD);
-         br->GetEntry(mod);
-         fSDDmap[mod] = digitsSDD;
-         return digitsSDD;
-       }
-       else
-         return NULL;
-       } else {
+      if (i != fSDDmap.end())
+      {
        return i->second;
       }
+      else if (fTree)
+      {
+       TClonesArray *digitsSDD = 0;
+       TBranch *br = fTree->GetBranch("ITSDigitsSDD");
+       br->SetAddress(&digitsSDD);
+       br->GetEntry(mod);
+       fSDDmap[mod] = digitsSDD;
+       return digitsSDD;
+      }
       break;
     }
+
     case 2:
     {
-      TClonesArray* digitsSSD = 0;
       std::map<Int_t, TClonesArray*>::iterator i = fSSDmap.find(mod);
-      if (i == fSSDmap.end()) {
-       if (fTree) {
-         TBranch* br =  fTree->GetBranch("ITSDigitsSSD");
-         br->SetAddress(&digitsSSD);
-         br->GetEntry(mod);
-
-         fSSDmap[mod] = digitsSSD;
-         return digitsSSD;
-       }
-       else
-         return NULL;
-       } else {
+      if (i != fSSDmap.end())
+      {
        return i->second;
       }
+      else if (fTree)
+      {
+       TClonesArray *digitsSSD = 0;
+       TBranch *br = fTree->GetBranch("ITSDigitsSSD");
+       br->SetAddress(&digitsSSD);
+       br->GetEntry(mod);
+       fSSDmap[mod] = digitsSSD;
+       return digitsSSD;
+      }
       break;
     }
-    default:
-      return 0;
   }
+
   return 0;
 }
 
index aef115e..0e29715 100644 (file)
@@ -19,7 +19,6 @@
 class TClonesArray;
 class TTree;
 
-//class AliITSgeom;
 class AliITSsegmentationSPD;
 class AliITSsegmentationSDD;
 class AliITSsegmentationSSD;
@@ -30,6 +29,7 @@ class AliRawReader;
 /******************************************************************************/
 // AliEveITSModuleSelection
 /******************************************************************************/
+
 class AliEveITSModuleSelection
 {
 public:
@@ -63,6 +63,7 @@ protected:
   ClassDef(AliEveITSModuleSelection, 0); // Helper for selecting a range of ITS modules by type, layer, phi and theta.
 };
 
+
 /******************************************************************************/
 // AliEveITSDigitsInfo
 /******************************************************************************/
@@ -75,7 +76,6 @@ public:
   AliITSsegmentationSPD*   fSegSPD;       // Segmentation of SPD.
   AliITSsegmentationSDD*   fSegSDD;       // Segmentation of SDD.
   AliITSsegmentationSSD*   fSegSSD;       // Segmentation of SSD.
-  AliITSDDLModuleMapSDD*   fDDLMapSDD;    // Mapping DDL/module to SDD-module number.
 
   Int_t                    fSPDMinVal;    // Default low  limit for display of SPD digits.
   Int_t                    fSSDMinVal;    // Default low  limit for display of SSD digits.
@@ -94,6 +94,8 @@ public:
   Int_t                    fSDDScaleZ[5]; // SDD cell-sizes along Z for display of scaled-digits.
   Int_t                    fSSDScale [5]; // SSD cell-sizes for display of scaled-digits.
 
+  static AliITSDDLModuleMapSDD* fgDDLMapSDD;  // Mapping DDL/module to SDD-module number.
+
   AliEveITSDigitsInfo();
   virtual ~AliEveITSDigitsInfo();
 
@@ -109,14 +111,14 @@ public:
   virtual void Print(Option_t* opt="") const;
 
 protected:
-  std::map<Int_t,  TClonesArray*> fSPDmap;     // Map from module-id to SPD data.
-  std::map<Int_t,  TClonesArray*> fSDDmap;     // Map from module-id to SDD data.
-  std::map<Int_t,  TClonesArray*> fSSDmap;     // Map from module-id to SSD data.
+  std::map<Int_t,  TClonesArray*> fSPDmap; // Map from module-id to SPD data.
+  std::map<Int_t,  TClonesArray*> fSDDmap; // Map from module-id to SDD data.
+  std::map<Int_t,  TClonesArray*> fSSDmap; // Map from module-id to SSD data.
 
-  void        SetITSSegmentation();
+  void SetITSSegmentation();
 
 private:
-  Float_t fSPDZCoord[192];                // Precalculated z-coordinates for positions of digits.
+  Float_t fSPDZCoord[192]; // Precalculated z-coordinates for positions of digits.
 
   void InitInternals();
 
@@ -124,7 +126,7 @@ private:
   AliEveITSDigitsInfo& operator=(const AliEveITSDigitsInfo&); // Not implemented
 
   ClassDef(AliEveITSDigitsInfo, 0); // Stores ITS geometry information and event-data in format suitable for visualization.
-}; // endclass AliEveITSDigitsInfo
+};
 
 
 inline void AliEveITSDigitsInfo::GetSPDLocalZ(Int_t j, Float_t& z) const
index 76b2815..e25f0d7 100644 (file)
@@ -68,7 +68,7 @@ AliEveITSModule::~AliEveITSModule()
 {
   // Destructor.
 
-  if(fInfo) fInfo->DecRefCount();
+  if (fInfo) fInfo->DecRefCount();
 }
 
 /******************************************************************************/
@@ -159,17 +159,9 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
 
   fID = gid;
 
-  if (!fgStaticInitDone) {
+  if (!fgStaticInitDone)
+  {
     InitStatics(fInfo);
-
-    fgSPDFrameBox->IncRefCount(this);
-    fgSPDPalette->IncRefCount();
-
-    fgSDDFrameBox->IncRefCount(this);
-    fgSDDPalette->IncRefCount();
-
-    fgSSDFrameBox->IncRefCount(this);
-    fgSSDPalette->IncRefCount();
   }
 
   AliITSgeomTGeo::GetModuleId(fID, fLayer, fLadder, fDet);
@@ -207,7 +199,6 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
     fDx = fInfo->fSegSPD->Dx()*0.00005;
     fDz = 3.50;
     fDy = fInfo->fSegSPD->Dy()*0.00005;
-
   }
   else if (fID <= (AliITSgeomTGeo::GetModuleIndex(5,1,1) - 1))
   {
@@ -235,7 +226,6 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
     fDx = fInfo->fSegSDD->Dx()*0.0001;
     fDz = fInfo->fSegSDD->Dz()*0.00005;
     fDy = fInfo->fSegSDD->Dy()*0.00005;
-
   }
   else
   {
@@ -264,7 +254,6 @@ void AliEveITSModule::SetID(Int_t gid, Bool_t trans)
     fDx = fInfo->fSegSSD->Dx()*0.00005;
     fDz = fInfo->fSegSSD->Dz()*0.00005;
     fDy = fInfo->fSegSSD->Dy()*0.00005;
-
   }
 
   LoadQuads();
@@ -289,8 +278,8 @@ void AliEveITSModule::LoadQuads()
 
   switch(fDetID)
   {
-
-    case 0: { // SPD
+    case 0:
+    {
       AliITSsegmentationSPD* seg =  fInfo->fSegSPD;
 
       Reset(kQT_RectangleXZFixedY, kFALSE, 32);
@@ -313,7 +302,8 @@ void AliEveITSModule::LoadQuads()
       break;
     }
 
-    case 1: { // SDD
+    case 1:
+    {
       AliITSsegmentationSDD *seg =  fInfo->fSegSDD;
 
       Reset(kQT_RectangleXZFixedY, kFALSE, 32);
@@ -322,23 +312,21 @@ void AliEveITSModule::LoadQuads()
       {
        AliITSdigit* d = (AliITSdigit*) digits->UncheckedAt(k);
 
-       // if (d->GetSignal() > fgSDDThreshold)
-       {
-         j = d->GetCoord1();
-         i = d->GetCoord2();
-         seg->DetToLocal(i, j, x, z);
-         dpx = seg->Dpx(i)*0.0001;
-         dpz = seg->Dpz(j)*0.0001;
-
-         AddQuad(x-2*dpx, z - dpz*0.5, 4*dpx, dpz);
-         QuadValue(d->GetSignal());
-         QuadId(d);
-       }
+       j = d->GetCoord1();
+       i = d->GetCoord2();
+       seg->DetToLocal(i, j, x, z);
+       dpx = seg->Dpx(i)*0.0001;
+       dpz = seg->Dpz(j)*0.0001;
+
+       AddQuad(x-2*dpx, z - dpz*0.5, 4*dpx, dpz);
+       QuadValue(d->GetSignal());
+       QuadId(d);
       }
       break;
     }
 
-    case 2: { // SSD
+    case 2:
+    {
       AliITSsegmentationSSD* seg = fInfo->fSegSSD;
 
       Reset(kQT_LineXZFixedY, kFALSE, 32);
@@ -351,19 +339,19 @@ void AliEveITSModule::LoadQuads()
       for (Int_t k=0; k<ndigits; ++k)
       {
        AliITSdigit *d = (AliITSdigit*) digits->UncheckedAt(k);
-       // if(d->GetSignal() > fgSSDThreshold)
-       {
-         j = d->GetCoord1();
-         i = d->GetCoord2();
-         seg->DetToLocal(i,j,x,z);
-
-         Float_t a = ( d->GetCoord1() == 1) ? ap : an;
-
-         AddLine(x-a, -fDz, 2*a, 2*fDz);
-         QuadValue(d->GetSignal());
-         QuadId(d);
-         // printf("%3d -> %3d -> %8x\n", d->GetSignal(), ci, fQuads.back().color);
-       }
+
+       j = d->GetCoord1();
+       i = d->GetCoord2();
+       // !!!! The following function complains about not being verified.
+       // !!!! Experts should check.
+       seg->DetToLocal(i,j,x,z);
+
+       Float_t a = (d->GetCoord1() == 1) ? ap : an;
+
+       AddLine(x-a, -fDz, 2*a, 2*fDz);
+       QuadValue(d->GetSignal());
+       QuadId(d);
+       // printf("%3d -> %3d -> %8x\n", d->GetSignal(), ci, fQuads.back().color);
       }
       break;
     }
index fc89111..c52be7c 100644 (file)
@@ -13,7 +13,8 @@ void its_common_foos()
 AliEveITSModule* its_make_module(Int_t i, TEveElement* parent,
                                  AliEveITSDigitsInfo*  di,
                                  AliEveDigitScaleInfo* si,
-                                 Bool_t check_empty, Bool_t scaled_modules)
+                                 Bool_t check_empty,
+                                Bool_t scaled_modules)
 {
   AliEveITSModule* m = 0;
 
@@ -38,155 +39,175 @@ void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode,
                             Bool_t check_empty    = kTRUE,
                             Bool_t scaled_modules = kFALSE)
 {
+  const TString bsSector = "Sector";
+  const TString bsStave  = "Stave";
+  const TString bsLadder = "Ladder";
   TString sSector;
-  TString bsSector="Sector";
   TString sStave;
-  TString bsStave="Stave";
   TString sLadder;
-  TString bsLadder="Ladder";
 
-  Int_t i=0;
-  Int_t nsec, nstave, nlad, nMod;
+  Int_t  i=0;
+  Long_t nsec, nstave, nlad, nMod;
 
   gEve->DisableRedraw();
 
   AliEveDigitScaleInfo* si = 0;
   if (scaled_modules)
+  {
     si = new AliEveDigitScaleInfo;
+  }
 
-  if (mode & 1) {
+  if (mode & 1)
+  {
     TEveElementList* l = new TEveElementList("SPD0");
     l->SetTitle("SPDs' first layer");
-    l->SetMainColor(Color_t(kRed));
+    l->SetMainColor(kRed);
     gEve->AddElement(l);
-    for (nsec=0; nsec<10; nsec++) {
-      sSector  = bsSector;
-      sSector += nsec;
-      TEveElementList* relSector = new TEveElementList(sSector.Data());
-      relSector->SetMainColor(Color_t(kRed));
-      gEve->AddElement(relSector, l);
-      for (nstave=0; nstave<2; nstave++){
-       sStave  = bsStave;
-       sStave += nstave;
-       TEveElementList* relStave = new TEveElementList(sStave.Data());
-       relStave->SetMainColor(Color_t(kRed));
-       gEve->AddElement(relStave, relSector);
+
+    for (nsec=0; nsec<10; nsec++)
+    {
+      TEveElementList* relSector = new TEveElementList(bsSector + nsec);
+      relSector->SetMainColor(kRed);
+      l->AddElement(relSector);
+
+      for (nstave=0; nstave<2; nstave++)
+      {
+       TEveElementList* relStave = new TEveElementList(bsStave + nstave);
+       relStave->SetMainColor(kRed);
+       relSector->AddElement(relStave);
+
        for (nMod=0; nMod<4; ++nMod, ++i)
        {
           its_make_module(i, relStave, di, si, check_empty, scaled_modules);
        }
       }
     }
-  } else {
+  }
+  else
+  {
     i += 10*2*4;
   }
 
-  if (mode & 2) {
+  if (mode & 2)
+  {
     TEveElementList* l = new TEveElementList("SPD1");
     l->SetTitle("SPDs' second layer");
-    l->SetMainColor(Color_t(kRed));
+    l->SetMainColor(kRed);
     gEve->AddElement(l);
 
-    for (nsec=0; nsec<10; nsec++) {
-      sSector  = bsSector;
-      sSector += nsec;
-      TEveElementList* relSector = new TEveElementList(sSector.Data());
-      relSector->SetMainColor(Color_t(kRed));
-      gEve->AddElement(relSector, l);
-      for (nstave=0; nstave<4; nstave++){
-       sStave  = bsStave;
-       sStave += nstave;
-       TEveElementList* relStave = new TEveElementList(sStave.Data());
-       relStave->SetMainColor(Color_t(kRed));
-       gEve->AddElement(relStave, relSector);
+    for (nsec=0; nsec<10; nsec++)
+    {
+      TEveElementList* relSector = new TEveElementList(bsSector + nsec);
+      relSector->SetMainColor(kRed);
+      l->AddElement(relSector);
+
+      for (nstave=0; nstave<4; nstave++)
+      {
+       TEveElementList* relStave = new TEveElementList(bsStave + nstave);
+       relStave->SetMainColor(kRed);
+       relSector->AddElement(relStave);
+
        for (nMod=0; nMod<4;  ++nMod, ++i)
        {
           its_make_module(i, relStave, di, si, check_empty, scaled_modules);
        }
       }
     }
-  } else {
+  }
+  else
+  {
     i += 10*4*4;
   }
 
-  if (mode & 4) {
+  if (mode & 4)
+  {
     TEveElementList* l = new TEveElementList("SDD2");
     l->SetTitle("SDDs' first layer");
-    l->SetMainColor(Color_t(kBlue));
+    l->SetMainColor(kBlue);
     gEve->AddElement(l);
 
-    for (nlad=0; nlad<14; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kBlue));
-      gEve->AddElement(relLadder, l);
+    for (nlad=0; nlad<14; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kBlue);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<6; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 14*6;
   }
 
-  if (mode & 8) {
+  if (mode & 8)
+  {
     TEveElementList* l = new TEveElementList("SDD3");
     l->SetTitle("SDDs' second layer");
-    l->SetMainColor(Color_t(kBlue));
+    l->SetMainColor(kBlue);
     gEve->AddElement(l);
-    for (nlad=0; nlad<22; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kBlue));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<22; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kBlue);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<8;  ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 22*8;
   }
 
-  if (mode & 16) {
+  if (mode & 16)
+  {
     TEveElementList* l = new TEveElementList("SSD4");
     l->SetTitle("SSDs' first layer");
-    l->SetMainColor(Color_t(kGreen));
+    l->SetMainColor(kGreen);
     gEve->AddElement(l);
-    for (nlad=0; nlad<34; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kGreen));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<34; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kGreen);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<22; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 34*22;
   }
 
-  if (mode & 32) {
+  if (mode & 32)
+  {
     TEveElementList* l = new TEveElementList("SSD5");
     l->SetTitle("SSDs' second layer");
-    l->SetMainColor(Color_t(kGreen));
+    l->SetMainColor(kGreen);
     gEve->AddElement(l);
-    for (nlad=0; nlad<38; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kGreen));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<38; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kGreen);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<25; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 38*25;
   }