]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSvImpacts.cxx
Changes to compile with Root6 on macosx64
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvImpacts.cxx
index e8dc33efeed4e96e0bca6e9bb951c15e074293f1..a9451d62d0bcbcbd7323cada2e9d835c7c53233e 100644 (file)
 
 /* $Id$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.24  2006/11/14 17:11:15  hristov
+ * Removing inheritances from TAttLine, TAttMarker and AliRndm in AliModule. The copy constructor and assignment operators are moved to the private part of the class and not implemented. The corresponding changes are propagated to the detectors
+ *
+ * Revision 1.23  2006/09/13 07:31:01  kharlov
+ * Effective C++ corrections (T.Pocheptsov)
+ *
+ * Revision 1.22  2005/06/17 07:39:07  hristov
+ * Removing GetDebug and SetDebug from AliRun and AliModule. Using AliLog for the messages
+ *
+ * Revision 1.21  2005/05/28 14:19:05  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
 //_________________________________________________________________________
 // Implementation version vImpacts of PHOS Manager class.
 // This class inherits from v1 and adds impacts storing.
 
 // --- ROOT system ---
 
-#include <TTree.h>
+//#include <TTree.h>
+#include <TClonesArray.h>
 #include <TVirtualMC.h>
+#include <TTree.h>
 
 // --- Standard library ---
 
 #include "AliPHOSImpact.h"
 #include "AliPHOSvImpacts.h"
 #include "AliRun.h"
+#include "AliLoader.h"
 #include "AliMC.h"
+#include "AliLog.h"
 
 ClassImp(AliPHOSvImpacts)
 
 //____________________________________________________________________________
-AliPHOSvImpacts::AliPHOSvImpacts():AliPHOSv1()
+AliPHOSvImpacts::AliPHOSvImpacts():
+  fEMCImpacts(new TList),
+  fCPVImpacts(new TList),
+  fPPSDImpacts(new TList),
+  fNEMCImpacts(),
+  fNCPVImpacts(),
+  fNPPSDImpacts()
 {
   // ctor
-  fEMCImpacts  = 0 ;
-  fPPSDImpacts = 0 ;
-  fCPVImpacts  = 0 ; 
 }
 
 //____________________________________________________________________________
 AliPHOSvImpacts::AliPHOSvImpacts(const char *name, const char *title):
-AliPHOSv1(name,title) 
+  AliPHOSv1(name,title),
+  fEMCImpacts(new TList),
+  fCPVImpacts(new TList),
+  fPPSDImpacts(0),
+  fNEMCImpacts(),
+  fNCPVImpacts(),
+  fNPPSDImpacts()
 {
   // ctor : title is used to identify the layout
   //
@@ -69,9 +99,6 @@ AliPHOSv1(name,title)
   //  - fEMCImpacts, fCPVImpacts which are
   //    TList of EMC and CPV modules respectively, each
   //    modules contains TClonesArray of AliPHOSImpacts
-  
-  fEMCImpacts  = new TList();
-  fCPVImpacts  = new TList();
 
   Int_t nPHOSModules = GetGeometry()->GetNModules();
   Int_t nCPVModules  = GetGeometry()->GetNModules();
@@ -117,7 +144,7 @@ AliPHOSvImpacts::~AliPHOSvImpacts()
 }
 
 //____________________________________________________________________________
-void AliPHOSvImpacts::AddImpact( char* det, Int_t shunt, Int_t primary, Int_t track, Int_t module,
+void AliPHOSvImpacts::AddImpact(const char* det, Int_t shunt, Int_t primary, Int_t track, Int_t module,
                           Int_t pid, TLorentzVector p, Float_t *xyz)
 {
   // Add an impact to the impact list.
@@ -135,13 +162,14 @@ void AliPHOSvImpacts::AddImpact( char* det, Int_t shunt, Int_t primary, Int_t tr
     nImpacts= fNCPVImpacts[module];
     fNCPVImpacts[module]++ ;
   }
+  else
+    AliFatal(Form("Wrong PHOS configuration: det=%s",det));
 
   new((*impacts)[nImpacts]) AliPHOSImpact(shunt,primary,track,pid,p,xyz) ;
 
-  if (fDebug==1) {
-    printf("Module %d %s: ",module,det);
-    (dynamic_cast<AliPHOSImpact*>((impacts->At(nImpacts))))->Print();
-  }
+  AliDebugClass(1,Form("Module %d %s: ",module,det));
+  if (AliLog::GetGlobalDebugLevel()>0)
+    (static_cast<AliPHOSImpact*>((impacts->At(nImpacts))))->Print();
 }
 
 //____________________________________________________________________________
@@ -154,8 +182,8 @@ void AliPHOSvImpacts::MakeBranch(Option_t *opt)
   
   Int_t bufferSize = 32000 ;
   Int_t splitlevel = 0 ;
-  TreeH()->Branch("PHOSEmcImpacts" , "TList", &fEMCImpacts , bufferSize, splitlevel);
-  TreeH()->Branch("PHOSCpvImpacts" , "TList", &fCPVImpacts , bufferSize, splitlevel);
+  fLoader->TreeH()->Branch("PHOSEmcImpacts" , "TList", &fEMCImpacts , bufferSize, splitlevel);
+  fLoader->TreeH()->Branch("PHOSCpvImpacts" , "TList", &fCPVImpacts , bufferSize, splitlevel);
   
 }
 
@@ -168,12 +196,12 @@ void AliPHOSvImpacts::ResetHits()
 
   Int_t i;
   for (i=0; i<GetGeometry()->GetNModules(); i++) {
-    (dynamic_cast<TClonesArray*>(fEMCImpacts->At(i))) -> Clear();
+    (static_cast<TClonesArray*>(fEMCImpacts->At(i))) -> Clear();
     fNEMCImpacts[i] = 0 ;
   }
 
   for (i=0; i<GetGeometry()->GetNModules(); i++) {
-    (dynamic_cast<TClonesArray*>(fCPVImpacts->At(i))) -> Clear();
+    (static_cast<TClonesArray*>(fCPVImpacts->At(i))) -> Clear();
     fNCPVImpacts[i] = 0 ;
   }
   
@@ -198,10 +226,11 @@ void AliPHOSvImpacts::StepManager(void)
 
   // Add impact to EMC
 
-  if( gMC->CurrentVolID(copy) == gMC->VolId("PXTL") &&
-      gMC->IsTrackEntering() ) {
-    gMC->TrackMomentum(pmom);
-    gMC->TrackPosition(pos) ;
+  static Int_t idPXTL = TVirtualMC::GetMC()->VolId("PXTL");
+  if( TVirtualMC::GetMC()->CurrentVolID(copy) == idPXTL &&
+      TVirtualMC::GetMC()->IsTrackEntering() ) {
+    TVirtualMC::GetMC()->TrackMomentum(pmom);
+    TVirtualMC::GetMC()->TrackPosition(pos) ;
 
     Int_t i;
     for (i=0; i<3; i++) xyzm[i] = pos[i];
@@ -210,16 +239,16 @@ void AliPHOSvImpacts::StepManager(void)
       xyzm[i] = pos[i] ;
       pm[i]   = pmom[i];
     }
-    gMC -> Gmtod (xyzm, xyzd, 1);    // transform coordinate from master to daughter system
-    gMC -> Gmtod (pm,   pd,   2);    // transform 3-momentum from master to daughter system
+    TVirtualMC::GetMC() -> Gmtod (xyzm, xyzd, 1);    // transform coordinate from master to daughter system
+    TVirtualMC::GetMC() -> Gmtod (pm,   pd,   2);    // transform 3-momentum from master to daughter system
 
     // Select tracks coming to the crystal from up or down sides
-    if (pd[1]<0 && xyzd[1] >  GetGeometry()->GetCrystalSize(1)/2-0.1 ||
-       pd[1]>0 && xyzd[1] < -GetGeometry()->GetCrystalSize(1)/2+0.1) {
+    if ((pd[1]<0 && xyzd[1] >  GetGeometry()->GetCrystalSize(1)/2-0.1) ||
+       (pd[1]>0 && xyzd[1] < -GetGeometry()->GetCrystalSize(1)/2+0.1)) {
     // Select tracks coming to the crystal from up or down sides
-      Int_t pid = gMC->TrackPid();
+      Int_t pid = TVirtualMC::GetMC()->TrackPid();
       Int_t module;
-      gMC->CurrentVolOffID(10,module);
+      TVirtualMC::GetMC()->CurrentVolOffID(10,module);
       module--;
       AddImpact("EMC ",fIshunt, primary,tracknumber, module, pid, pmom, xyzm);
     }
@@ -227,10 +256,11 @@ void AliPHOSvImpacts::StepManager(void)
 
   // Add impact to CPV
 
-  if( gMC->CurrentVolID(copy) == gMC->VolId("PCPQ") &&
-      gMC->IsTrackEntering() ) {
-    gMC->TrackMomentum(pmom);
-    gMC->TrackPosition(pos) ;
+  static Int_t idPCPQ = TVirtualMC::GetMC()->VolId("PCPQ");
+  if( TVirtualMC::GetMC()->CurrentVolID(copy) == idPCPQ &&
+      TVirtualMC::GetMC()->IsTrackEntering() ) {
+    TVirtualMC::GetMC()->TrackMomentum(pmom);
+    TVirtualMC::GetMC()->TrackPosition(pos) ;
 
     Int_t i;
     for (i=0; i<3; i++) xyzm[i] = pos[i];
@@ -239,9 +269,9 @@ void AliPHOSvImpacts::StepManager(void)
       xyzm[i] = pos[i] ;
       pm[i]   = pmom[i];
     }
-    Int_t pid = gMC->TrackPid();
+    Int_t pid = TVirtualMC::GetMC()->TrackPid();
     Int_t module;
-    gMC->CurrentVolOffID(3,module);
+    TVirtualMC::GetMC()->CurrentVolOffID(3,module);
     module--;
     AddImpact("CPV ",fIshunt, primary,tracknumber, module, pid, pmom, xyzm);
   }