#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"
fMUONData(0),
fSplitLevel(0),
fChambers(0),
- fTriggerCircuits(0),
- fTriggerCircuitsNew(0),
fGeometryBuilder(0),
fSegmentation(0),
fAccCut(kFALSE),
fTriggerResponseV1(kFALSE),
fTriggerCoinc44(0),
fTriggerEffCells(0),
- fSDigitizerType(""),
- fDigitizerType(""),
+ fDigitizerWithNoise(kTRUE),
fRawWriter(0x0),
fDigitMaker(0x0)
}
//__________________________________________________________________
-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),
fTriggerResponseV1(kFALSE),
fTriggerCoinc44(0),
fTriggerEffCells(0),
- fSDigitizerType(sDigitizerClassName),
- fDigitizerType(digitizerClassName),
+ fDigitizerWithNoise(kTRUE),
fRawWriter(0x0),
fDigitMaker(new AliMUONDigitMaker(kFALSE))
{
AliDebug(1,Form("ctor this=%p",this));
fIshunt = 0;
- SetMarkerColor(kRed);//
+ //PH SetMarkerColor(kRed);//
// Geometry builder
fGeometryBuilder = new AliMUONGeometryBuilder(this);
}
} // 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);
- }
}
//____________________________________________________________________
fChambers->Delete();
delete fChambers;
}
- if (fTriggerCircuits){
- fTriggerCircuits->Delete();
- delete fTriggerCircuits;
- }
- if (fTriggerCircuitsNew){
- fTriggerCircuitsNew->Delete();
- delete fTriggerCircuitsNew;
- }
delete fMUONData;
delete fGeometryBuilder;
//____________________________________________________________________
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);
}
//_____________________________________________________________________
//_____________________________________________________________________
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();
}
//_____________________________________________________________________
}
//____________________________________________________________________
-Int_t AliMUON::GetTriggerEffCells() const
+Bool_t AliMUON::GetTriggerEffCells() const
{
///
/// Returns fTriggerEffCells
}
+//____________________________________________________________________
+Bool_t AliMUON::GetDigitizerWithNoise() const
+{
+///
+/// Returns fDigitizerWithNoise
+///
+ return fDigitizerWithNoise;
+
+}
+