]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveDet/AliEveITSDigitsInfo.cxx
Update of the class ESDMuonFilter. New marcros for creating AOD with muon information...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveITSDigitsInfo.cxx
index b477d338824da20af209f0048cd620d93eb58b41..31394b6db6b8ef4a36e91c70c3303205ad781d93 100644 (file)
@@ -10,9 +10,6 @@
 #include "AliEveITSDigitsInfo.h"
 #include <EveBase/AliEveEventManager.h>
 
-#include <TEveTreeTools.h>
-#include <TEveTrans.h>
-
 #include <AliITS.h>
 #include <AliITSInitGeometry.h>
 #include <AliITSgeomTGeo.h>
 #include <AliITSRawStreamSSD.h>
 
 #include <TGeoMatrix.h>
+#include <TEveTrans.h>
+//#include <TClonesArray.h>
+
 #include <TMath.h>
 #include <TVector3.h>
 
+//==============================================================================
+//==============================================================================
+// AliEveITSModuleSelection
+//==============================================================================
+
 //______________________________________________________________________________
 //
 // Helper for selecting a range of ITS modules by type, layer, phi and
@@ -56,6 +61,11 @@ AliEveITSModuleSelection::AliEveITSModuleSelection():
 }
 
 
+//==============================================================================
+//==============================================================================
+// AliEveITSDigitsInfo
+//==============================================================================
+
 //______________________________________________________________________________
 //
 // Stores ITS geometry information and event-data in format suitable
@@ -87,7 +97,7 @@ void AliEveITSDigitsInfo::InitInternals()
   // module-id to transformation-matrix mapping and segmentation
   // classes and data-structures.
 
-  static const TEveException eH("AliEveITSDigitsInfo::InitInternals ");
+  static const TEveException kEH("AliEveITSDigitsInfo::InitInternals ");
 
   AliEveEventManager::AssertGeometry();
 
@@ -225,9 +235,6 @@ void AliEveITSDigitsInfo::ReadRaw(AliRawReader* raw, Int_t mode)
     while (input.Next())
     {
       Int_t module = input.GetModuleID();
-      Int_t anode  = input.GetAnode();
-      Int_t time   = input.GetTime();
-      Int_t signal = input.GetSignal();
 
       if (input.IsNewModule())
       {
@@ -236,11 +243,16 @@ void AliEveITSDigitsInfo::ReadRaw(AliRawReader* raw, Int_t mode)
          fSDDmap[module] = digits = new TClonesArray("AliITSdigit", 0);
       }
 
-      AliITSdigit* d = new ((*digits)[digits->GetEntriesFast()]) AliITSdigit();
-      d->SetCoord1(anode);
-      d->SetCoord2(time);
-      d->SetSignal(signal);
-
+      if (input.IsCompletedModule()==kFALSE)
+      {
+       Int_t anode  = input.GetAnode()+input.GetChannel()*AliITSsegmentationSDD::GetNAnodesPerHybrid();
+       Int_t time   = input.GetTime();
+       Int_t signal = input.GetSignal();
+       AliITSdigit* d = new ((*digits)[digits->GetEntriesFast()]) AliITSdigit();
+       d->SetCoord1(anode);
+       d->SetCoord2(time);
+       d->SetSignal(signal);
+      }
       // printf("SDD: %d %d %d %d\n",module,anode,time,signal);
     }
     raw->Reset();
@@ -285,7 +297,7 @@ void AliEveITSDigitsInfo::SetITSSegmentation()
   // data-structures.
 
   // SPD
-  fSegSPD = new AliITSsegmentationSPD();
+  fSegSPD = new AliITSsegmentationSPD("TGeo");
 
   Int_t m;
   Float_t fNzSPD=160;
@@ -308,12 +320,12 @@ void AliEveITSDigitsInfo::SetITSSegmentation()
   }
 
   // SDD
-  fSegSDD = new AliITSsegmentationSDD();
+  fSegSDD = new AliITSsegmentationSDD("TGeo");
   // !!!! Set default drift speed, eventually need to get it from CDB.
   fSegSDD->SetDriftSpeed(7.3);
 
   // SSD
-  fSegSSD = new AliITSsegmentationSSD();
+  fSegSSD = new AliITSsegmentationSSD("TGeo");
 }
 
 /******************************************************************************/