]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSsegmentationSDD.cxx
Added option TGeo in the constructor in order to initialize some parameters directly...
[u/mrichter/AliRoot.git] / ITS / AliITSsegmentationSDD.cxx
index 553b68e67c58810d3ed361a7a12274f33dcc7f06..dda7b9e3020c8e6d5e5bdd9b051baa7cf0bc5992 100644 (file)
@@ -14,7 +14,9 @@
  **************************************************************************/
 #include <Riostream.h>
 #include <TMath.h>
-
+#include <TGeoManager.h>
+#include <TGeoVolume.h>
+#include <TGeoBBox.h>
 #include "AliITSsegmentationSDD.h"
 #include "AliITSgeomSDD.h"
 #include "AliITSresponseSDD.h"
@@ -44,7 +46,7 @@
 //                               Z                                         //
 /////////////////////////////////////////////////////////////////////////////
 
-/* $Id:$ */
+/* $Id$ */
 
 const Float_t AliITSsegmentationSDD::fgkDxDefault = 35085.;
 const Float_t AliITSsegmentationSDD::fgkDzDefault = 75264.;
@@ -71,7 +73,7 @@ fSetDriftSpeed(0){
   InitFromGeom(geom);
 }
 //______________________________________________________________________
-AliITSsegmentationSDD::AliITSsegmentationSDD() : AliITSsegmentation(),
+AliITSsegmentationSDD::AliITSsegmentationSDD(Option_t *opt) : AliITSsegmentation(),
 fNsamples(0),
 fNanodes(0),
 fPitch(0),
@@ -80,6 +82,21 @@ fDriftSpeed(0),
 fSetDriftSpeed(0){
   // Default constructor
   Init();
+  if(strstr(opt,"TGeo")){
+    if(!gGeoManager){
+      AliError("Geometry is not initialized\n");
+      return;
+    }
+    TGeoVolume *v=NULL;
+    v = gGeoManager->GetVolume("ITSsddSensitivL3");
+    if(!v){
+      AliWarning("TGeo volume ITSsddSensitivL3 not found (hint: use v11Hybrid geometry)\n Using hardwired default values"); 
+    }
+    else {
+      TGeoBBox *s=(TGeoBBox*)v->GetShape();
+      SetDetSize(s->GetDX()*10000.,s->GetDZ()*20000.,s->GetDY()*20000.);
+    }
+  }
 }
 
 //______________________________________________________________________