fDigitizerWithNoise(1),
fRawWriter(0x0),
fDigitMaker(0x0),
- fHitStore(0x0)
+ fHitStore(0x0),
+ fDigitStoreConcreteClassName()
{
/// Default Constructor
fDigitizerWithNoise(1),
fRawWriter(0x0),
fDigitMaker(new AliMUONDigitMaker),
- fHitStore(0x0)
+ fHitStore(0x0),
+ fDigitStoreConcreteClassName("AliMUONDigitStoreV2S")
{
/// Standard constructor
#include "AliMUONTrigger.h"
#include <TVectorfwd.h>
+#include <TString.h>
class TFile;
class TTree;
/// Return reference to Chamber \a id
virtual AliMUONChamber& Chamber(Int_t id)
{return *((AliMUONChamber *) (*fChambers)[id]);}
- /// Return reference to New Circuit \a id
virtual void MakeBranch(Option_t* opt=" ");
virtual void ResetHits();
+ /// Set digit store class name
+ void SetDigitStoreClassName(const char* classname) { fDigitStoreConcreteClassName = classname; }
+ /// Return digit store class name
+ const TString DigitStoreClassName() const { return fDigitStoreConcreteClassName; }
+
protected:
/// Not implemented
AliMUON(const AliMUON& rMUON);
AliMUONVHitStore* fHitStore; //!< container of hits
- ClassDef(AliMUON,15) // MUON Detector base class
+ TString fDigitStoreConcreteClassName; ///< to be able to select what the sdigitizer uses
+
+ ClassDef(AliMUON,16) // MUON Detector base class
};
#endif
#include "AliMUON.h"
#include "AliMUONChamber.h"
#include "AliMUONVDigit.h"
-#include "AliMUONDigitStoreV1.h"
#include "AliMUONHit.h"
#include "AliMpDEManager.h"
#include "AliLoader.h"
#include "AliRun.h"
#include "AliRunLoader.h"
+#include "AliMUONVDigitStore.h"
#include "AliMUONVHitStore.h"
///
Int_t nofEvents(runLoader->GetNumberOfEvents());
- AliMUONVDigitStore* sDigitStore = new AliMUONDigitStoreV1;
+ TString classname = muon->DigitStoreClassName();
+ AliMUONVDigitStore* sDigitStore = AliMUONVDigitStore::Create(classname.Data());
+
+ if (!sDigitStore)
+ {
+ AliFatal(Form("Could not create digitstore of class %s",classname.Data()));
+ }
+
+ AliInfo(Form("Will use digitStore of type %s",sDigitStore->ClassName()));
+
for ( Int_t iEvent = 0; iEvent < nofEvents; ++iEvent )
{
// Loop over events.
// Remember to define the directory and option
// gAlice->SetConfigFunction("Config('$HOME','box');");
-void Config(char directory[100]="", char option[6]="param")
+void Config(char directory[100]="", char option[6]="param", const char* digitstore="AliMUONDigitStoreV1")
{
//=====================================================================
// Config file for MUON test
// activate trigger chamber efficiency by cells (0=default, 1=trigger efficiency according to AliMUONTriggerEfficiencyCells
// MUON->SetTriggerEffCells(0);
+ // Use SetDigitStoreClassName() to change the digitStore implementation used by (s)digitizer
+ MUON->SetDigitStoreClassName(digitstore);
+
+ cout << "MUON DigitStore is " << MUON->DigitStoreClassName().Data() << endl;
+
// To get same as above w/o noise-only digits for the tracker do :
//MUON->SetDigitizerWithNoise(kFALSE);
// MUON->AddGeometryBuilder(new AliMUONSlatGeometryBuilder(MUON));
// MUON->AddGeometryBuilder(new AliMUONTriggerGeometryBuilder(MUON));
}
-
-Float_t EtaToTheta(Float_t arg){
- return (180./TMath::Pi())*2.*atan(exp(-arg));
-}