]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON.cxx
Adding CreateIterator(void) and GetNeighbours() pure virtual methods,
[u/mrichter/AliRoot.git] / MUON / AliMUON.cxx
index cd157773cc62a7687bf5acc16e8652409b120f15..e40232118eef7060134b0dc8de466957fabfdcf4 100644 (file)
 #include "AliMUONConstants.h"
 #include "AliMUONHit.h"        
 #include "AliMUONRawCluster.h"
-#include "AliMUONTransientDigit.h"
-#include "AliMUONTriggerCircuit.h"
-#include "AliMUONTriggerCircuitNew.h"
 #include "AliMUONGeometry.h"
 #include "AliMUONGeometryTransformer.h"
 #include "AliMUONGeometryBuilder.h"
 #include "AliMUONCommonGeometryBuilder.h"
 #include "AliMUONVGeometryBuilder.h"   
 #include "AliMUONGeometrySegmentation.h"
-#include "AliMUONDigitizerv2.h"
-#include "AliMUONSDigitizerv1.h"
 #include "AliMUONRawWriter.h"
 #include "AliMUONSegmentation.h"
 #include "AliLog.h"
@@ -106,8 +101,6 @@ AliMUON::AliMUON()
     fMUONData(0),
     fSplitLevel(0),
     fChambers(0),
-    fTriggerCircuits(0),
-    fTriggerCircuitsNew(0),
     fGeometryBuilder(0),
     fSegmentation(0),
     fAccCut(kFALSE),
@@ -123,8 +116,7 @@ AliMUON::AliMUON()
     fTriggerResponseV1(kFALSE),
     fTriggerCoinc44(0),
     fTriggerEffCells(0),
-    fSDigitizerType(""),
-    fDigitizerType(""),
+    fDigitizerWithNoise(kTRUE),
     fRawWriter(0x0),
     fDigitMaker(0x0)
 
@@ -136,17 +128,13 @@ AliMUON::AliMUON()
 }
 
 //__________________________________________________________________
-AliMUON::AliMUON(const char *name, const char *title,
-                 const char* sDigitizerClassName,
-                 const char* digitizerClassName)
-  : AliDetector(name,title),
+AliMUON::AliMUON(const char *name, const char* title)
+  : AliDetector(name, title),
     fNCh(AliMUONConstants::NCh()),
     fNTrackingCh(AliMUONConstants::NTrackingCh()),
     fMUONData(0),
     fSplitLevel(0),
     fChambers(0),
-    fTriggerCircuits(0),
-    fTriggerCircuitsNew(0),
     fGeometryBuilder(0),
     fSegmentation(0),
     fAccCut(kFALSE),
@@ -162,8 +150,7 @@ AliMUON::AliMUON(const char *name, const char *title,
     fTriggerResponseV1(kFALSE),
     fTriggerCoinc44(0),
     fTriggerEffCells(0),
-    fSDigitizerType(sDigitizerClassName),
-    fDigitizerType(digitizerClassName),
+    fDigitizerWithNoise(kTRUE),
     fRawWriter(0x0),
     fDigitMaker(new AliMUONDigitMaker(kFALSE)) 
 {
@@ -172,7 +159,7 @@ AliMUON::AliMUON(const char *name, const char *title,
   AliDebug(1,Form("ctor this=%p",this));
   fIshunt =  0;
 
-  SetMarkerColor(kRed);//
+  //PH SetMarkerColor(kRed);//
     
   // Geometry builder
   fGeometryBuilder = new AliMUONGeometryBuilder(this);
@@ -210,17 +197,7 @@ AliMUON::AliMUON(const char *name, const char *title,
        }
       } // Chamber stCH (0, 1) in 
     }     // Station st (0...)
-    
-    // cp new design of AliMUONTriggerDecision
-    fTriggerCircuits = new TObjArray(AliMUONConstants::NTriggerCircuit());
-    for (Int_t circ=0; circ<AliMUONConstants::NTriggerCircuit(); circ++) {
-      fTriggerCircuits->AddAt(new AliMUONTriggerCircuit(),circ);          
-    }
 
-    fTriggerCircuitsNew = new TObjArray(AliMUONConstants::NTriggerCircuit());
-    for (Int_t circ=0; circ<AliMUONConstants::NTriggerCircuit(); circ++) {
-      fTriggerCircuitsNew->AddAt(new AliMUONTriggerCircuitNew(),circ);          
-    }
 }
 
 //____________________________________________________________________
@@ -235,14 +212,6 @@ AliMUON::~AliMUON()
     fChambers->Delete();
     delete fChambers;
   }
-  if (fTriggerCircuits){
-    fTriggerCircuits->Delete();
-    delete fTriggerCircuits;
-  }
-  if (fTriggerCircuitsNew){
-    fTriggerCircuitsNew->Delete();
-    delete fTriggerCircuitsNew;
-  }
   
   delete fMUONData;
   delete fGeometryBuilder;
@@ -440,41 +409,9 @@ void   AliMUON::SetResponseModel(Int_t id, AliMUONResponse *response)
 //____________________________________________________________________
 AliDigitizer* AliMUON::CreateDigitizer(AliRunDigitizer* manager) const
 {
-/// FIXME: the selection of the class should be done through a factory
-/// mechanism. (see also Hits2SDigits()).
+/// Return digitizer
   
-  AliInfo(Form("Digitizer used : %s",fDigitizerType.Data()));
-  
-  if ( fDigitizerType == "digitizer:default" )
-  {
-    return new AliMUONDigitizerv2(manager);
-  }
-  else if ( fDigitizerType == "digitizer:NewDigitizerNewTrigger" ) 
-  {
-      return new AliMUONDigitizerV3(manager,AliMUONDigitizerV3::kTriggerElectronics,kTRUE);
-  }
-  else if ( fDigitizerType == "digitizer:NewDigitizerOldTrigger" )
-  {
-    return new AliMUONDigitizerV3(manager,AliMUONDigitizerV3::kTriggerDecision, kFALSE);
-  }
-  else if ( fDigitizerType == "digitizer:NewDigitizerWithNoiseOldTrigger" )
-  {
-    return new AliMUONDigitizerV3(manager,AliMUONDigitizerV3::kTriggerDecision, kTRUE);
-  }    
-  else
-  {
-    AliFatal(Form("Unknown digitizer type : %s",fDigitizerType.Data()));
-  }
-  return 0x0;
-}
-
-//_____________________________________________________________________
-TString
-AliMUON::SDigitizerType() const
-{
-/// Return digitizer type
-
-  return fSDigitizerType;
+  return new AliMUONDigitizerV3(manager, fDigitizerWithNoise);
 }
 
 //_____________________________________________________________________
@@ -491,43 +428,10 @@ void AliMUON::SDigits2Digits()
 //_____________________________________________________________________
 void AliMUON::Hits2SDigits()
 {
-/// FIXME: the selection of the sdigitizer should be done through a
-/// factory mechanism.
+/// Perform Hits2Digits using SDigitizerV2
   
-  AliInfo(Form("SDigitizer used : %s",fSDigitizerType.Data()));
-
-  if ( fSDigitizerType == "sdigitizer:default" )
-  {
-    // Adaption of AliMUONSDigitizerv1 to be excuted by the AliSimulation framework
-    AliRunLoader* runLoader = fLoader->GetRunLoader();
-    AliRunDigitizer   * manager = new AliRunDigitizer(1,1);
-    manager->SetInputStream(0,runLoader->GetFileName(),AliConfig::GetDefaultEventFolderName());
-    AliMUONDigitizer * dMUON   = new AliMUONSDigitizerv1(manager);
-    fLoader->LoadHits("READ");
-    for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) {
-      runLoader->GetEvent(iEvent);
-      dMUON->Exec("");
-    }
-    fLoader->UnloadHits();
-  }
-  else if ( fSDigitizerType == "sdigitizer:AliMUONSDigitizerV2" )
-  {
-    TTask* sdigitizer = new AliMUONSDigitizerV2;
-    sdigitizer->ExecuteTask();
-  }
-  else
-  {
-    AliFatal(Form("Unknown sdigitizer classname : %s",fSDigitizerType.Data()));
-  }
-}
-
-//_____________________________________________________________________
-TString
-AliMUON::DigitizerType() const
-{
-/// Return digitizer type
-
-  return fDigitizerType;
+  TTask* sdigitizer = new AliMUONSDigitizerV2;
+  sdigitizer->ExecuteTask();
 }
 
 //_____________________________________________________________________
@@ -646,7 +550,7 @@ Int_t  AliMUON::GetTriggerCoinc44() const
 }
 
 //____________________________________________________________________
-Int_t  AliMUON::GetTriggerEffCells() const
+Bool_t  AliMUON::GetTriggerEffCells() const
 {
 ///
 /// Returns fTriggerEffCells
@@ -655,3 +559,13 @@ Int_t  AliMUON::GetTriggerEffCells() const
     
 }  
 
+//____________________________________________________________________
+Bool_t  AliMUON::GetDigitizerWithNoise() const
+{
+///
+/// Returns fDigitizerWithNoise
+///  
+    return fDigitizerWithNoise;
+    
+}  
+