]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMD.cxx
code according Convertions
[u/mrichter/AliRoot.git] / FMD / AliFMD.cxx
index 4296c565a3a0eeac90a660f4a7694e97083e7be7..5c2d456e7b4a73dcc6ec9f762573bc18cfa3c614 100644 (file)
@@ -36,6 +36,7 @@
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
+
 #define DEBUG
 #include <TMath.h>
 #include <TGeometry.h>
 #include <TLorentzVector.h>
 #include "AliFMDv1.h"
 #include "AliRun.h"
-#include "AliMC.h"
 #include "AliDetector.h"
-#include <iostream.h>
-#include <fstream.h>
+#include <TBranch.h>
+#include <Riostream.h>
 #include "AliMagF.h"
 #include "AliFMDhit.h"
 #include "AliFMDdigit.h"
@@ -59,7 +59,6 @@
 #include "AliFMDReconstParticles.h"
 #include <stdlib.h>
 
-
 ClassImp (AliFMD)
   //_____________________________________________________________________________
 AliFMD::AliFMD ():AliDetector ()
@@ -70,7 +69,6 @@ AliFMD::AliFMD ():AliDetector ()
   fIshunt = 0;
   fHits     = 0;
   fDigits   = 0;
-  fSDigits  = 0;
   fReconParticles=0; 
 }
 
@@ -87,7 +85,6 @@ AliDetector (name, title)
   fHits = new TClonesArray ("AliFMDhit", 1000);
   // Digits for each Si disk
   fDigits = new TClonesArray ("AliFMDdigit", 1000);
-  fSDigits = new TClonesArray ("AliFMDdigit", 1000);
   fReconParticles=new TClonesArray("AliFMDReconstParticles",1000); 
   gAlice->AddHitList (fHits);
 
@@ -97,7 +94,7 @@ AliDetector (name, title)
   fIdSens3 = 0;
   fIdSens4 = 0;
   fIdSens5 = 0;
-  fMerger = 0;
+  //  fMerger = 0;
   SetMarkerColor (kRed);
 }
 
@@ -116,12 +113,6 @@ AliFMD::~AliFMD ()
       delete fDigits;
       fDigits = 0;
     }
-  if (fSDigits)
-    {
-      fSDigits->Delete ();
-      delete fSDigits;
-      fSDigits = 0;
-    }
   if (fReconParticles)
     {
       fReconParticles->Delete ();
@@ -150,15 +141,6 @@ void AliFMD::AddDigit (Int_t * digits)
   TClonesArray & ldigits = *fDigits;
   new (ldigits[fNdigits++]) AliFMDdigit (digits);
 
-}
-//_____________________________________________________________________________
-void AliFMD::AddSDigit (Int_t * digits)
-{
-  // add a real digit - as coming from data
-
-  TClonesArray & ldigits = *fSDigits;
-  new (ldigits[fNdigits++]) AliFMDdigit (digits);
-
 }
 //_____________________________________________________________________________
 void AliFMD::BuildGeometry ()
@@ -174,34 +156,34 @@ void AliFMD::BuildGeometry ()
   // FMD define the different volumes
   new TRotMatrix ("rot901", "rot901", 90, 0, 90, 90, 180, 0);
 
-  new TTUBE ("S_FMD0", "FMD  volume 0", "void", 3.5, 16.8, 1.5);
+  new TTUBE ("S_FMD0", "FMD  volume 0", "void", 4.2, 17.2, 1.5);
   top->cd ();
   node = new TNode ("FMD0", "FMD0", "S_FMD0", 0, 0, 62.8, "");
   node->SetLineColor (kColorFMD);
   fNodes->Add (node);
 
-  new TTUBE ("S_FMD1", "FMD  volume 1", "void", 22., 34.9, 1.5);
+  new TTUBE ("S_FMD1", "FMD  volume 1", "void", 15.4, 28.4, 1.5);
   top->cd ();
-  node = new TNode ("FMD1", "FMD1", "S_FMD1", 0, 0, 75.1, "");
+  node = new TNode ("FMD1", "FMD1", "S_FMD1", 0, 0, 75.2, "");
   node->SetLineColor (kColorFMD);
   fNodes->Add (node);
 
-  new TTUBE ("S_FMD2", "FMD  volume 2", "void", 3.5, 16.8, 1.5);
+  new TTUBE ("S_FMD2", "FMD  volume 2", "void", 4.2, 17.2, 1.5);
   top->cd ();
-  node = new TNode ("FMD2", "FMD2", "S_FMD2", 0, 0, -62.8, "");
+  node = new TNode ("FMD2", "FMD2", "S_FMD2", 0, 0, -83.2, "");
   node->SetLineColor (kColorFMD);
   fNodes->Add (node);
 
-  new TTUBE ("S_FMD3", "FMD  volume 3", "void", 22., 34.9, 1.5);
+  new TTUBE ("S_FMD3", "FMD  volume 3", "void", 15.4, 28.4, 1.5);
   top->cd ();
-  node = new TNode ("FMD3", "FMD3", "S_FMD3", 0, 0, -75.1, "");
+  node = new TNode ("FMD3", "FMD3", "S_FMD3", 0, 0, -75.2, "");
   node->SetLineColor (kColorFMD);
   fNodes->Add (node);
 
-  new TTUBE ("S_FMD4", "FMD  volume 4", "void", 3.5, 16.8, 1.5);
+  new TTUBE ("S_FMD4", "FMD  volume 4", "void", 4.2, 17.2, 1.5);
   top->cd ();
   //  node = new TNode("FMD4","FMD4","S_FMD4",0,0,-270,"");
-  node = new TNode ("FMD4", "FMD4", "S_FMD4", 0, 0, -345, "");
+  node = new TNode ("FMD4", "FMD4", "S_FMD4", 0, 0, -340, "");
   node->SetLineColor (kColorFMD);
   fNodes->Add (node);
 }
@@ -233,12 +215,12 @@ void AliFMD::ResetDigits ()
 }
 
 //-------------------------------------------------------------------------
+
 void  AliFMD::Init ()
 {
   //
   // Initialis the FMD after it has been built
   Int_t i;
-  AliMC *pMC = AliMC::GetMC ();
   //
   if (fDebug)
     {
@@ -257,12 +239,14 @@ void  AliFMD::Init ()
     }
   //
   //
-    fIdSens1 = pMC->VolId ("GRN1");    //Si sensetive volume
-    fIdSens2 = pMC->VolId ("GRN2");    //Si sensetive volume
-    fIdSens3 = pMC->VolId ("GRN3");    //Si sensetive volume
-    fIdSens4 = pMC->VolId ("GRN4");    //Si sensetive volume
+    fIdSens1 = gMC->VolId ("GRN1");    //Si sensetive volume
+    fIdSens2 = gMC->VolId ("GRN2");    //Si sensetive volume
+    fIdSens3 = gMC->VolId ("GRN3");    //Si sensetive volume
+    fIdSens4 = gMC->VolId ("GRN4");    //Si sensetive volume
+    fIdSens5 = gMC->VolId ("GRN5");    //Si sensetive volume
 
 }
+
 //---------------------------------------------------------------------
 void AliFMD::MakeBranch (Option_t * option, const char *file)
 {
@@ -274,19 +258,13 @@ void AliFMD::MakeBranch (Option_t * option, const char *file)
   AliDetector::MakeBranch (option, file);
   const char *cD = strstr(option,"D");
   const char *cR = strstr(option,"R");
-  const char *cS = strstr(option,"S");
   
-  if (cS){
-
-    MakeBranchInTree(gAlice->TreeS(), 
-                    branchname,&fSDigits, 
-                    kBufferSize, file);
-  }
   if (cD){
 
     MakeBranchInTree(gAlice->TreeD(), 
                     branchname,&fDigits, 
                     kBufferSize, file);
+    cout<<" tree "<<gAlice->TreeD()<<" "<<branchname<<" "<<&fDigits<<endl;
   }
   if (cR){
     MakeBranchInTree(gAlice->TreeR(), 
@@ -317,16 +295,8 @@ void AliFMD::SetTreeAddress ()
        }
 
     }
-  if (fSDigits)
-    //  fSDigits->Clear ();
-
-  if (gAlice->TreeS () && fSDigits)
-    {
-      branch = gAlice->TreeS ()->GetBranch ("FMD");
-      if (branch)
-       branch->SetAddress (&fSDigits);
-    }
 
   if (gAlice->TreeR() && fReconParticles) 
     {
       branch = gAlice->TreeR()->GetBranch("FMD"); 
@@ -335,52 +305,23 @@ void AliFMD::SetTreeAddress ()
 }
 
 //---------------------------------------------------------------------
+
 void AliFMD::SetRingsSi1(Int_t ringsSi1)
 {
-  fRingsSi1=ringsSi1;
+  //  fRingsSi1=ringsSi1;
+  fRingsSi1=768;
 }
 void AliFMD::SetSectorsSi1(Int_t sectorsSi1)
 {
-  fSectorsSi1=sectorsSi1;
+  fSectorsSi1=20;
 }
 void AliFMD::SetRingsSi2(Int_t ringsSi2)
 {
-  fRingsSi2=ringsSi2;
+  fRingsSi2=384;
 }
 void AliFMD::SetSectorsSi2(Int_t sectorsSi2)
 {
-  fSectorsSi2=sectorsSi2;
-}
-//---------------------------------------------------------------------
-
-void AliFMD::SDigits2Digits() 
-{
-  cout<<"AliFMD::SDigits2Digits"<<endl; 
-    if (!fMerger) {
-      fMerger = new AliFMDMerger();
-    }
-    fMerger ->SetRingsSi1(fRingsSi1);
-    fMerger->SetRingsSi2(fRingsSi2);
-    fMerger ->SetSectorsSi1(fSectorsSi1);
-    fMerger ->SetSectorsSi2(fSectorsSi2);
-    fMerger->Init();
-    cout<<"AliFMD::SDigits2Digits Init"<<endl; 
-    fMerger->Digitise();
-    cout<<"AliFMD::SDigits2Digits Digitise() "<<endl; 
-
-
-}
-//---------------------------------------------------------------------
-void   AliFMD::SetMerger(AliFMDMerger* merger)
-{
-// Set pointer to merger
-    fMerger = merger;
-}
-
-AliFMDMerger*  AliFMD::Merger()
-{
-// Return pointer to merger
-    return fMerger;
+  fSectorsSi2=40;
 }
 
 //---------------------------------------------------------------------
@@ -400,30 +341,6 @@ AliFMD::Eta2Radius (Float_t eta, Float_t zDisk, Float_t * radius)
     printf ("%s: eta %f radius %f\n", ClassName (), eta, rad);
 }
 
-//---------------------------------------------------------------------
-
-void AliFMD::Hits2SDigits ()
-{
-
-  //#ifdef DEBUG
-  cout<<"ALiFMD::Hits2SDigits> start...\n";
-  //#endif
-  
-  char * fileSDigits = 0 ;
-  char * fileHeader = 0;
-  AliFMDSDigitizer * sd = new AliFMDSDigitizer(fileHeader,fileSDigits) ;
-  sd->SetRingsSi1(fRingsSi1);
-  sd->SetRingsSi2(fRingsSi2);
-  sd->SetSectorsSi1(fSectorsSi1);
-  sd->SetSectorsSi2(fSectorsSi2);
-
-
-  sd->Exec("") ;
-  sd->Print("");
-
-  delete sd ;
-  
-}
 //-----------------------------------------------------------------------
 
 void AliFMD::Digits2Reco()
@@ -432,9 +349,26 @@ void AliFMD::Digits2Reco()
   char * fileHeader=0;
   AliFMDReconstruction * reconstruction =
     new AliFMDReconstruction(fileHeader,fileReconParticles) ;
-  //  fReconParticles=new TClonesArray("AliFMDReconstParticles",1000);
   reconstruction->Exec("");
   delete  reconstruction;
 }
+//-----------------------------------------------------------------------
+
+void AliFMD::MakeBranchInTreeD(TTree *treeD, const char *file)
+{
+    //
+    // Create TreeD branches for the MUON.
+    //
+
+    const Int_t kBufferSize = 4000;
+    char branchname[20];
+    
 
+    sprintf(branchname,"%s",GetName());        
+    if(treeD){
+    MakeBranchInTree(treeD, 
+                    branchname,&fDigits, 
+                    kBufferSize, file);
+    }
+}