class TTree;
class AliLoader;
-class AliMUONTriggerCircuit;
-class AliMUONTriggerCircuitNew;
class AliMUONData;
class AliMUONResponse;
class AliMUONSegmentation;
class AliMUONRawWriter;
class AliMUONVGeometryBuilder;
class AliESD;
+class AliMUONDigitMaker;
class AliMUON : public AliDetector
{
public:
AliMUON();
- AliMUON(const char* name, const char *title="FactoryV4",
- const char* sDigitizerType="sdigitizer:AliMUONSDigitizerV2",
- const char* digitizerType="digitizer:NewDigitizerWithNoiseOldTrigger");
+ AliMUON(const char* name, const char* title);
virtual ~AliMUON();
// Geometry
virtual void SDigits2Digits();
virtual void Hits2SDigits();
virtual void Digits2Raw();
-
+ virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
+
// Trigger
/// Create trigger
virtual AliTriggerDetector* CreateTriggerDetector() const
/// Set scaler event for trigger
virtual void SetTriggerScalerEvent(Bool_t scaler = true){fTriggerScalerEvent = scaler;}
- // trigger response version
+ /// Set trigger response version
virtual void SetTriggerResponseV1(Bool_t trigResV1 = false)
- {fTriggerResponseV1 = trigResV1;}
+ { fTriggerResponseV1 = trigResV1; }
virtual Bool_t GetTriggerResponseV1() const;
+ /// Set trigger coinc44
+ virtual void SetTriggerCoinc44(Int_t trigCoinc44 = 0)
+ { fTriggerCoinc44 = trigCoinc44; }
+ virtual Int_t GetTriggerCoinc44() const;
+ /// Set trigger chamber efficiency by cells
+ virtual void SetTriggerEffCells(Bool_t trigEffCells = false)
+ { fTriggerEffCells = trigEffCells; }
+ virtual Bool_t GetTriggerEffCells() const;
+ /// Set off generation of noisy digits
+ virtual void SetDigitizerWithNoise(Bool_t digitizerWithNoise)
+ { fDigitizerWithNoise = digitizerWithNoise; }
+ virtual Bool_t GetDigitizerWithNoise() const;
// Getters
/// Return reference to Chamber \a id
virtual AliMUONChamber& Chamber(Int_t id)
{return *((AliMUONChamber *) (*fChambers)[id]);}
- /// Return reference to Circuit \a id
- virtual AliMUONTriggerCircuit& TriggerCircuit(Int_t id)
- {return *((AliMUONTriggerCircuit *) (*fTriggerCircuits)[id]);}
/// Return reference to New Circuit \a id
- virtual AliMUONTriggerCircuitNew& TriggerCircuitNew(Int_t id)
- {return *((AliMUONTriggerCircuitNew*) (*fTriggerCircuitsNew)[id]);}
// Return pointers to digit
AliMUONRawCluster *RawCluster(Int_t ichamber, Int_t icathod,
Int_t icluster);
// Inherited and overridden from AliModule:
//PH virtual void RemapTrackHitIDs(Int_t * map);
-
- TString SDigitizerType() const;
- TString DigitizerType() const;
protected:
AliMUON(const AliMUON& rMUON);
AliMUONData* fMUONData; ///< Data container for MUON subsystem
Int_t fSplitLevel; ///< Splitlevel when making branches in outfiles.
TObjArray* fChambers; ///< List of Tracking Chambers
- TObjArray* fTriggerCircuits; ///< List of Trigger Circuits
- TObjArray* fTriggerCircuitsNew; ///< List of Trigger Circuits
AliMUONGeometryBuilder* fGeometryBuilder; ///< Geometry builder
AliMUONSegmentation* fSegmentation; ///< New segmentation
Int_t fMaxIterPad; ///< Maximum pad index
Int_t fCurIterPad; ///< Current pad index
- // setting scaler for trigger
+ // Options
Bool_t fTriggerScalerEvent; ///< Flag to generates scaler event
Bool_t fTriggerResponseV1; ///< Flag to select TriggerResponseV1
-
- TString fSDigitizerType; ///< Class to use for SDigitizer
- TString fDigitizerType; ///< Class to use for Digitizer
+ Int_t fTriggerCoinc44; ///< Flag to select TriggerCoinc44
+ Bool_t fTriggerEffCells; ///< Flag to select TriggerEffCells
+ Bool_t fDigitizerWithNoise; ///< Flag to switch on/off generation of noisy digits
AliMUONRawWriter* fRawWriter; //!< Raw data writer
+ AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class
+
ClassDef(AliMUON,13) // MUON Detector base class
};
#endif