/* $Id$ */
-// ------------------
+//-----------------------------------------------------------------------------
// Class AliMUON
// ------------------
// AliDetector class for MUON subsystem
// providing simulation data management
+//-----------------------------------------------------------------------------
-#include "Riostream.h"
-
-#include <AliPDG.h>
-#include <TBRIK.h>
-#include <TCanvas.h>
-#include <TDirectory.h>
-#include <TFile.h>
-#include <TGeometry.h>
-#include <TMinuit.h>
-#include <TNode.h>
-#include <TNtuple.h>
-#include <TObjArray.h>
-#include <TObject.h>
-#include <TObjectTable.h>
-#include <TPad.h>
-#include <TParticle.h>
-#include <TROOT.h>
-#include <TRandom.h>
-#include <TRotMatrix.h>
-#include <TTUBE.h>
-#include <TTUBE.h>
-#include <TTree.h>
-#include <TVector.h>
-#include <TVirtualMC.h>
-
-//#include "AliHeader.h"
-#include "AliLoader.h"
-#include "AliRunDigitizer.h"
-#include "AliMC.h"
-#include "AliRun.h"
#include "AliMUON.h"
+
+#include "AliMUONSDigitizerV2.h"
+#include "AliMUONDigitizerV3.h"
+#include "AliMUONDigitMaker.h"
+#include "AliMUONCalibrationData.h"
+
+#include "AliMUONDigitStoreV1.h"
+#include "AliMUONVTriggerStore.h"
+#include "AliMUONHitStoreV1.h"
+
#include "AliMUONChamberTrigger.h"
#include "AliMUONConstants.h"
-#include "AliMUONHit.h"
#include "AliMUONGeometry.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONGeometryBuilder.h"
-#include "AliMUONCommonGeometryBuilder.h"
#include "AliMUONVGeometryBuilder.h"
-#include "AliMUONRawWriter.h"
-#include "AliLog.h"
-
-#include "AliMUONSDigitizerV2.h"
-#include "AliMUONDigitizerV3.h"
-#include "AliMUONDigitMaker.h"
-
+#include "AliMUONCommonGeometryBuilder.h"
#include "AliMUONSt1GeometryBuilderV2.h"
#include "AliMUONSt2GeometryBuilderV2.h"
#include "AliMUONSlatGeometryBuilder.h"
#include "AliMUONTriggerGeometryBuilder.h"
-#include "AliMUONDigitStoreV1.h"
-#include "AliMUONVTriggerStore.h"
-#include "AliMUONHitStoreV1.h"
+#include "AliMUONRawWriter.h"
+
+#include "AliLoader.h"
+#include "AliCDBManager.h"
+#include "AliRunDigitizer.h"
+#include "AliMC.h"
+#include "AliRun.h"
+#include "AliRawDataHeaderSim.h"
+#include "AliLog.h"
+
+#include <TObjArray.h>
// Defaults parameters for Z positions of chambers
// taken from values for "stations" in AliMUON::AliMUON
fTriggerCoinc44(0),
fTriggerEffCells(0),
fDigitizerWithNoise(1),
+ fIsTailEffect(kTRUE),
fRawWriter(0x0),
fDigitMaker(0x0),
- fHitStore(0x0)
+ fHitStore(0x0),
+ fDigitStoreConcreteClassName(),
+ fCalibrationData(0x0)
{
/// Default Constructor
fTriggerCoinc44(0),
fTriggerEffCells(0),
fDigitizerWithNoise(1),
+ fIsTailEffect(kTRUE),
fRawWriter(0x0),
fDigitMaker(new AliMUONDigitMaker),
- fHitStore(0x0)
+ fHitStore(0x0),
+ fDigitStoreConcreteClassName("AliMUONDigitStoreV2S"),
+ fCalibrationData()
+
{
-/// Standard constructor
+ /// Standard constructor
AliDebug(1,Form("ctor this=%p",this));
fIshunt = 0;
-
+
//PH SetMarkerColor(kRed);//
// Geometry builder
// Common geometry definitions
fGeometryBuilder
->AddBuilder(new AliMUONCommonGeometryBuilder(this));
-
+
// By default, add also all the needed geometry builders.
// If you want to change this from outside, please use ResetGeometryBuilder
// method, followed by AddGeometryBuilder ones.
-
+
AddGeometryBuilder(new AliMUONSt1GeometryBuilderV2(this));
AddGeometryBuilder(new AliMUONSt2GeometryBuilderV2(this));
AddGeometryBuilder(new AliMUONSlatGeometryBuilder(this));
}
} // Chamber stCH (0, 1) in
} // Station st (0...)
-
+
+ Int_t runnumber = AliCDBManager::Instance()->GetRun();
+
+ fCalibrationData = new AliMUONCalibrationData(runnumber);
}
//____________________________________________________________________
delete fRawWriter;
delete fDigitMaker;
delete fHitStore;
+ delete fCalibrationData;
}
//_____________________________________________________________________________
fGeometryBuilder->AddBuilder(geomBuilder);
}
-//____________________________________________________________________
-void AliMUON::BuildGeometry()
-{
-/// Geometry for event display
-
-
-// for (Int_t i = 0; i < AliMUONConstants::NCh(); i++)
-// this->Chamber(i).SegmentationModel2(1)->Draw("eventdisplay");// to be check !
-
-
-}
-
//____________________________________________________________________
const AliMUONGeometry* AliMUON::GetGeometry() const
{
{
/// Return digitizer
- return new AliMUONDigitizerV3(manager, fDigitizerWithNoise);
+ AliMUONDigitizerV3* digitizer = new AliMUONDigitizerV3(manager, fDigitizerWithNoise);
+ digitizer->SetCalibrationData(fCalibrationData);
+ return digitizer;
}
//_____________________________________________________________________
{
/// Convert digits of the current event to raw data
+ AliRawDataHeaderSim header;
+
if (!fRawWriter)
{
fRawWriter = new AliMUONRawWriter;
treeD->GetEvent(0);
+ fRawWriter->SetHeader(header);
if (!fRawWriter->Digits2Raw(digitStore,triggerStore))
{
AliError("pb writting raw data");
Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
{
/// Convert raw data to SDigit
-/// Only for tracking for the moment (ChF)
fLoader->LoadDigits("READ");
if (!fLoader->TreeS()) fLoader->MakeSDigitsContainer();
}
+