]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMD.cxx
Removing useless flag.
[u/mrichter/AliRoot.git] / PMD / AliPMD.cxx
index 75d57f6d6e4ec4fc29b31b70fa0d2cd7f6dc8bd3..6d672eca82f6daa4fdaf63676855cfec50c1a2ec 100644 (file)
 
 #include <TBRIK.h>
 #include <TClonesArray.h>
-#include <TFile.h>
 #include <TGeometry.h>
 #include <TNode.h>
 #include <TTree.h>
 #include <TVirtualMC.h>
 
-#include "AliConst.h" 
+#include "AliLog.h"
 #include "AliLoader.h" 
 #include "AliPMDLoader.h" 
 #include "AliPMD.h"
-#include "AliPMDRecPoint.h"
 #include "AliRun.h"
 #include "AliMC.h"
 #include "AliPMDDigitizer.h"
 #include "AliPMDhit.h"
 #include "AliPMDDDLRawData.h"
+#include "AliPMDRawToSDigits.h"
   
 ClassImp(AliPMD)
  
@@ -65,10 +64,27 @@ AliPMD::AliPMD()
   //
   // Default constructor
   //
-  fIshunt = 0;
-
-  fRecPoints  = 0;
-
+  fIshunt     = 0;
+  fPar[0]     = 1.;
+  fPar[1]     = 1.;
+  fPar[2]     = 0.8;
+  fPar[3]     = 0.02;
+  fIn[0]      = 6.;
+  fIn[1]      = 20.;
+  fIn[2]      = 600.;
+  fIn[3]      = 27.;
+  fIn[4]      = 27.;
+  fGeo[0]     = 0.;
+  fGeo[1]     = 0.2;
+  fGeo[2]     = 4.;
+  fPadSize[0] = 0.8;
+  fPadSize[1] = 1.0;
+  fPadSize[2] = 1.2;
+  fPadSize[3] = 1.5;
+  fNumPads[0] = 0;
+  fNumPads[1] = 0;
+  fNumPads[2] = 0;
+  fNumPads[3] = 0;
 }
  
 //_____________________________________________________________________________
@@ -84,28 +100,29 @@ AliPMD::AliPMD(const char *name, const char *title)
   fHits   = new TClonesArray("AliPMDhit",  405);
   gAlice->GetMCApp()->AddHitList(fHits);
 
-  fRecPoints  = new TClonesArray("AliPMDRecPoint",10000); 
-  fNRecPoints = 0;
-  
 
   fIshunt =  0;
   
-  fPar[0] = 1;
-  fPar[1] = 1;
-  fPar[2] = 0.8;
-  fPar[3] = 0.02;
-  fIn[0]  = 6;
-  fIn[1]  = 20;
-  fIn[2]  = 600;
-  fIn[3]  = 27;
-  fIn[4]  = 27;
-  fGeo[0] = 0;
-  fGeo[1] = 0.2;
-  fGeo[2] = 4;
+  fPar[0]     = 1.;
+  fPar[1]     = 1.;
+  fPar[2]     = 0.8;
+  fPar[3]     = 0.02;
+  fIn[0]      = 6.;
+  fIn[1]      = 20.;
+  fIn[2]      = 600.;
+  fIn[3]      = 27.;
+  fIn[4]      = 27.;
+  fGeo[0]     = 0.;
+  fGeo[1]     = 0.2;
+  fGeo[2]     = 4.;
   fPadSize[0] = 0.8;
   fPadSize[1] = 1.0;
   fPadSize[2] = 1.2;
   fPadSize[3] = 1.5;
+  fNumPads[0] = 0;
+  fNumPads[1] = 0;
+  fNumPads[2] = 0;
+  fNumPads[3] = 0;
 }
 
 AliLoader* AliPMD::MakeLoader(const char* topfoldername)
@@ -116,11 +133,11 @@ AliLoader* AliPMD::MakeLoader(const char* topfoldername)
  
   if (fLoader)
     {
-      cout<<"Success"<<endl;
+      AliDebug(100,"Success");
     }
   else
     {
-      cout<<"Failure"<<endl;
+      AliError("Failure");
     }
 
   return fLoader;
@@ -129,10 +146,8 @@ AliLoader* AliPMD::MakeLoader(const char* topfoldername)
 AliPMD::~AliPMD()
 {
   //
-  // Default constructor
+  // Destructor
   //
-    delete fRecPoints;
-    fNRecPoints=0;
 }
 
 //_____________________________________________________________________________
@@ -148,8 +163,8 @@ void AliPMD::AddHit(Int_t track, Int_t *vol, Float_t *hits)
   // vol[4],vol[5],vol[6],vol[7]);
 
   newcell = new AliPMDhit(fIshunt, track, vol, hits);
-  Int_t i;
-  for (i=0; i<fNhits; i++) {
+
+  for (Int_t i=0; i<fNhits; i++) {
     //
     // See if this cell has already been hit
     curcell=(AliPMDhit*) lhits[i];
@@ -165,37 +180,6 @@ void AliPMD::AddHit(Int_t track, Int_t *vol, Float_t *hits)
   delete newcell;
 }
  
-//_____________________________________________________________________________
-void AliPMD::BuildGeometry()
-{
-  //
-  // Build simple ROOT TNode geometry for event display
-  //
-
-  TNode *node, *top;
-  const int kColorPMD  = kRed;
-
-  //
-  top=gAlice->GetGeometry()->GetNode("alice");
-
-  // PMD
-  new TBRIK("S_PMD","PMD box","void",300,300,5);
-  top->cd();
-  node = new TNode("PMD","PMD","S_PMD",0,0,-600,"");
-  node->SetLineColor(kColorPMD);
-  fNodes->Add(node);
-}
-
-//_____________________________________________________________________________
-Int_t AliPMD::DistancetoPrimitive(Int_t , Int_t ) const
-{
-  //
-  // Distance from mouse to detector on the screen
-  // dummy routine
-  //
-   return 9999;
-}
 //_____________________________________________________________________________
 void AliPMD::SetPAR(Float_t p1, Float_t p2, Float_t p3,Float_t p4)
 {
@@ -252,76 +236,43 @@ void AliPMD::StepManager()
   //
 }
 
-void AliPMD::AddRecPoint(const AliPMDRecPoint &p)
-{
-    //
-    // Add a PMD reconstructed hit to the list
-    //
-    TClonesArray &lrecpoints = *fRecPoints;
-    new(lrecpoints[fNRecPoints++]) AliPMDRecPoint(p);
-}
-
 void AliPMD::MakeBranch(Option_t* option)
 {
     // Create Tree branches for the PMD
     
-    const char *cR = strstr(option,"R");
     const char *cH = strstr(option,"H");
     if (cH && fLoader->TreeH() && (fHits == 0x0))
       fHits   = new TClonesArray("AliPMDhit",  405);
     
     AliDetector::MakeBranch(option);
-
-    if (cR  && fLoader->TreeR()) {
-      printf("Make Branch - TreeR address %p\n",(void*)fLoader->TreeR());
-    
-      const Int_t kBufferSize = 4000;
-      char branchname[30];
-      
-      sprintf(branchname,"%sRecPoints",GetName());
-      if (fRecPoints == 0x0) {
-        fRecPoints  = new TClonesArray("AliPMDRecPoint",10000); 
-      }
-      MakeBranchInTree(fLoader->TreeR(), branchname, &fRecPoints, kBufferSize,0);
-   }   
 }
 
 
 void AliPMD::SetTreeAddress()
 {
-  // Set branch address for the TreeR
-    char branchname[30];
-    
+  // Set branch address
+
     if (fLoader->TreeH() && fHits==0x0)
       fHits   = new TClonesArray("AliPMDhit",  405);
       
     AliDetector::SetTreeAddress();
+}
 
-    TBranch *branch;
-    TTree *treeR = fLoader->TreeR();
-
-    sprintf(branchname,"%s",GetName());
-    if (treeR) {
-       branch = treeR->GetBranch(branchname);
-       if (branch) 
-       {
-         if (fRecPoints == 0x0) {
-           fRecPoints  = new TClonesArray("AliPMDRecPoint",10000); 
-         }
-         branch->SetAddress(&fRecPoints);
-       }
-    }
+void AliPMD::SetCpvOff()
+{
+  // Set the CPV plane off
 }
+void AliPMD::SetPreOff()
+{
+  // Set the Preshower plane off
 
-void AliPMD::ResetHits()
+}
+void AliPMD::SetModuleOff(Int_t /*imodule*/)
 {
-  //
-  // Reset number of hits and the hits array
-  //
-    AliDetector::ResetHits();
-    fNRecPoints   = 0;
-    if (fRecPoints)   fRecPoints->Clear();
+  // Set the desired module off
+
 }
+
 //____________________________________________________________________________
 void AliPMD::Hits2SDigits()  
 { 
@@ -365,9 +316,9 @@ void AliPMD::Hits2Digits()
 
 }
 // ---------------------------------------------------------------------------
-AliDigitizer* AliPMD::CreateDigitizer(AliRunDigitizer* manager) const
+AliDigitizer* AliPMD::CreateDigitizer(AliDigitizationInput* digInput) const
 { 
-  return new AliPMDDigitizer(manager);
+  return new AliPMDDigitizer(digInput);
 }
 // ---------------------------------------------------------------------------
 void AliPMD::Digits2Raw()
@@ -377,7 +328,7 @@ void AliPMD::Digits2Raw()
   fLoader->LoadDigits();
   TTree* digits = fLoader->TreeD();
   if (!digits) {
-    Error("Digits2Raw", "no digits tree");
+    AliError("No digits tree");
     return;
   }
 
@@ -387,5 +338,15 @@ void AliPMD::Digits2Raw()
   fLoader->UnloadDigits();
 }
 
+Bool_t AliPMD::Raw2SDigits(AliRawReader *rawReader)
+{
+  // converts raw to sdigits
+  AliRunLoader* runLoader = fLoader->GetRunLoader(); 
+  //runLoader->GetEvent(ievt);
 
+  AliPMDRawToSDigits pmdr2sd;
+  pmdr2sd.Raw2SDigits(runLoader, rawReader);
+  fLoader->UnloadSDigits();
+  return kTRUE;
+}