]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliModule.cxx
Updated V2 stream of tracking (Yu.Belikov). The new long waited features are: 1)...
[u/mrichter/AliRoot.git] / STEER / AliModule.cxx
index 8028594ea1e5179e86fb1913e5b6632394da1e01..f42e96606f24910e774dd33b05e13b3115959328 100644 (file)
 
 /*
 $Log$
+Revision 1.16  2001/05/16 14:57:22  alibrary
+New files for folders and Stack
+
+Revision 1.15  2001/03/20 06:36:28  alibrary
+100 parameters now allowed for geant shapes
+
+Revision 1.14  2001/01/26 19:58:48  hristov
+Major upgrade of AliRoot code
+
+Revision 1.13  2000/11/30 07:12:49  alibrary
+Introducing new Rndm and QA classes
+
+Revision 1.12  2000/10/02 21:28:14  fca
+Removal of useless dependecies via forward declarations
+
+Revision 1.11  2000/07/12 08:56:25  fca
+Coding convention correction and warning removal
+
+Revision 1.10  2000/07/11 18:24:59  fca
+Coding convention corrections + few minor bug fixes
+
 Revision 1.9  2000/05/16 08:45:08  fca
 Correct dtor, thanks to J.Belikov
 
@@ -44,13 +65,14 @@ Introduction of the Copyright and cvs Log
 //End_Html
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
+#include <TNode.h>
+#include "TSystem.h"
+
 #include "AliModule.h"
 #include "AliRun.h"
-#include "AliHit.h"
-#include "AliPoints.h"
-#include <TClass.h>
-#include <TNode.h>
-#include <TRandom.h>
+#include "AliMagF.h"
+#include "AliMC.h"
+#include "AliConfig.h"
 
 ClassImp(AliModule)
  
@@ -64,6 +86,7 @@ AliModule::AliModule()
   fNodes      = 0;
   fIdtmed     = 0;
   fIdmate     = 0;
+  fDebug      = 0;
 }
  
 //_____________________________________________________________________________
@@ -103,6 +126,10 @@ AliModule::AliModule(const char* name,const char *title):TNamed(name,title)
   // Prepare to find the tracking media range
   fLoMedium = 65536;
   fHiMedium = 0;
+
+  AliConfig::Instance()->Add(this);    
+    
+  SetDebug(gAlice->GetDebug());
 }
  
 //_____________________________________________________________________________
@@ -111,7 +138,7 @@ AliModule::AliModule(const AliModule &mod)
   //
   // Copy constructor
   //
-  Copy(*this);
+  mod.Copy(*this);
 }
 
 //_____________________________________________________________________________
@@ -134,7 +161,7 @@ AliModule::~AliModule()
 }
  
 //_____________________________________________________________________________
-void AliModule::Copy(AliModule &mod) const
+void AliModule::Copy(AliModule & /* mod */) const
 {
   //
   // Copy *this onto mod, not implemented for AliModule
@@ -155,7 +182,7 @@ void AliModule::Disable()
   // Loop through geometry to disable all
   // nodes for this Module
   while((node = (TNode*)next())) {
-    node->SetVisibility(0);
+    node->SetVisibility(-1);
   }   
 }
 
@@ -182,7 +209,7 @@ void AliModule::Enable()
   // Loop through geometry to enable all
   // nodes for this Module
   while((node = (TNode*)next())) {
-    node->SetVisibility(1);
+    node->SetVisibility(3);
   }   
 }
 
@@ -324,6 +351,18 @@ AliModule& AliModule::operator=(const AliModule &mod)
   return (*this);
 }
 
+//_____________________________________________________________________________
+Float_t AliModule::ZMin() const
+{
+  return -500;
+}
+
+//_____________________________________________________________________________
+Float_t AliModule::ZMax() const
+{
+  return 500;
+}
+
 //_____________________________________________________________________________
 void AliModule::SetEuclidFile(char* material, char* geometry)
 {
@@ -368,7 +407,7 @@ void AliModule::ReadEuclid(const char* filnam, char* topvol)
   char key[5], card[77], natmed[21];
   char name[5], mother[5], shape[5], konly[5], volst[7000][5];
   char *filtmp;
-  Float_t par[50];
+  Float_t par[100];
   Float_t teta1, phi1, teta2, phi2, teta3, phi3, orig, step;
   Float_t xo, yo, zo;
   const Int_t kMaxRot=5000;
@@ -497,7 +536,7 @@ void AliModule::ReadEuclid(const char* filnam, char* topvol)
     }
     if (istop[i] && !flag) {
       strcpy(topvol,volst[i]);
-      printf(" *** GREUCL *** volume %s taken as a top volume\n",topvol);
+      if(fDebug) printf("%s::ReadEuclid: volume %s taken as a top volume\n",ClassName(),topvol);
       flag=1;
     }
   }
@@ -507,7 +546,7 @@ void AliModule::ReadEuclid(const char* filnam, char* topvol)
   fclose (lun);
   //*
   //*     commented out only for the not cernlib version
-  printf(" *** GREUCL *** file: %s is now read in\n",filnam);
+  if(fDebug) printf("%s::ReadEuclid: file: %s is now read in\n",ClassName(),filnam);
   //
   return;
   //*
@@ -545,7 +584,7 @@ void AliModule::ReadEuclidMedia(const char* filnam)
   }
   //
   // *** The input filnam name will be with extension '.euc'
-  printf("The file name is %s\n",filnam); //Debug
+  if(fDebug) printf("%s::ReadEuclid: The file name is %s\n",ClassName(),filnam); //Debug
   filtmp=gSystem->ExpandPathName(filnam);
   lun=fopen(filtmp,"r");
   delete [] filtmp;
@@ -600,7 +639,8 @@ void AliModule::ReadEuclidMedia(const char* filnam)
   fclose (lun);
   //*
   //*     commented out only for the not cernlib version
-  Warning("ReadEuclidMedia","file: %s is now read in\n",filnam);
+  if(fDebug) printf("%s::ReadEuclidMedia: file %s is now read in\n",
+       ClassName(),filnam);
   //*
   return;
   //*
@@ -608,36 +648,4 @@ void AliModule::ReadEuclidMedia(const char* filnam)
   Warning("ReadEuclidMedia","reading error or premature end of file\n");
 } 
  
-//_____________________________________________________________________________
-void AliModule::Streamer(TBuffer &R__b)
-{
-  //
-  // Stream an object of class Module.
-  //
-  if (R__b.IsReading()) {
-    Version_t R__v = R__b.ReadVersion(); if (R__v) { }
-    TNamed::Streamer(R__b);
-    TAttLine::Streamer(R__b);
-    TAttMarker::Streamer(R__b);
-    fEuclidMaterial.Streamer(R__b);
-    fEuclidGeometry.Streamer(R__b);
-    R__b >> fActive;
-    R__b >> fHistograms;
-    //
-    // Stream the pointers but not the TClonesArrays
-    R__b >> fNodes; // diff
-  } else {
-    R__b.WriteVersion(AliModule::IsA());
-    TNamed::Streamer(R__b);
-    TAttLine::Streamer(R__b);
-    TAttMarker::Streamer(R__b);
-    fEuclidMaterial.Streamer(R__b);
-    fEuclidGeometry.Streamer(R__b);
-    R__b << fActive;
-    R__b << fHistograms;
-    //
-    // Stream the pointers but not the TClonesArrays
-    R__b << fNodes; // diff
-  }
-}