X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUON.h;h=8703ec882e46eeda556458c3fca5be2d7d2c33c7;hb=d8e8484f6db8c5c54b5c6e611196cdffa8d3cecf;hp=ae57d4874c489f62ae04f611afe0845f3039acfa;hpb=30178c30974cdd6a3b59f09e4d479925642e175b;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUON.h b/MUON/AliMUON.h index ae57d4874c4..8703ec882e4 100644 --- a/MUON/AliMUON.h +++ b/MUON/AliMUON.h @@ -21,17 +21,17 @@ class TFile; class TTree; class AliLoader; -class AliSegmentation; +class AliMUONGeometrySegmentation; class AliMUONTriggerCircuit; class AliMUONData; class AliMUONResponse; -class AliMUONMerger; class AliMUONHit; -class AliMUONPadHit; class AliMUONRawCluster; class AliMUONReconstHit; -class AliMUONMerger; +class AliMUONGeometryBuilder; class AliMUONVGeometryBuilder; +class AliMUONGeometryDEIndexing; +class AliMUONFactoryV2; class AliESD; class AliMUON : public AliDetector @@ -44,6 +44,7 @@ class AliMUON : public AliDetector void AddGeometryBuilder(AliMUONVGeometryBuilder* geomBuilder); virtual void BuildGeometry(); AliMUONData* GetMUONData() {return fMUONData;} + AliMUONGeometryBuilder* GetGeometryBuilder() {return fGeometryBuilder;} virtual Int_t IsVersion() const {return 0;} // MUONLoader definition @@ -61,6 +62,9 @@ class AliMUON : public AliDetector virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; virtual void SDigits2Digits(); virtual void Hits2SDigits(); + virtual void Digits2Raw(); + + // Configuration Methods (per station id) // // Set Chamber Segmentation Parameters @@ -68,7 +72,6 @@ class AliMUON : public AliDetector // Set Z values for all chambers virtual void SetChambersZ(const Float_t *Z); virtual void SetChambersZToDefault(void); - virtual void SetPadSize(Int_t id, Int_t isec, Float_t p1, Float_t p2); // Set Signal Generation Parameters virtual void SetSigmaIntegration(Int_t id, Float_t p1); virtual void SetChargeSlope(Int_t id, Float_t p1); @@ -76,26 +79,28 @@ class AliMUON : public AliDetector virtual void SetMaxAdc(Int_t id, Int_t p1); // Set Segmentation and Response Model virtual void SetSegmentationModel(Int_t id, Int_t isec, - AliSegmentation *segmentation); + AliMUONGeometrySegmentation* segmentation); + + void SetSegmentationType(Int_t type) {fSegmentationType = type;}// 1 for old 2 for new, 0 undefined + Int_t WhichSegmentation() {return fSegmentationType; } + virtual void SetResponseModel(Int_t id, AliMUONResponse *response); virtual void SetNsec(Int_t id, Int_t nsec); - // Set Merger/Digitizer - virtual void SetMerger(AliMUONMerger* merger); - virtual AliMUONMerger* Merger(); - // Set Stepping Parameters virtual void SetMaxStepGas(Float_t p1); virtual void SetMaxStepAlu(Float_t p1); virtual void SetMaxDestepGas(Float_t p1); virtual void SetMaxDestepAlu(Float_t p1); - virtual void SetAcceptance(Bool_t acc=0, Float_t angmin=2, Float_t angmax=9); // Get Stepping Parameters virtual Float_t GetMaxStepGas() const; virtual Float_t GetMaxStepAlu() const; virtual Float_t GetMaxDestepGas() const; virtual Float_t GetMaxDestepAlu() const; + + // Set alignement option + virtual void SetAlign(Bool_t align); // Return reference to Chamber #id virtual AliMUONChamber& Chamber(Int_t id) @@ -103,14 +108,11 @@ class AliMUON : public AliDetector // Return reference to Circuit #id virtual AliMUONTriggerCircuit& TriggerCircuit(Int_t id) {return *((AliMUONTriggerCircuit *) (*fTriggerCircuits)[id]);} - // Retrieve pad hits for a given Hit - virtual AliMUONPadHit* FirstPad(AliMUONHit *hit, TClonesArray *padHits); - virtual AliMUONPadHit* NextPad(TClonesArray *padHits); // Return pointers to digits AliMUONRawCluster *RawCluster(Int_t ichamber, Int_t icathod, Int_t icluster); // Inherited and overridden from AliModule: - virtual void RemapTrackHitIDs(Int_t * map); + //PH virtual void RemapTrackHitIDs(Int_t * map); protected: AliMUON(const AliMUON& rMUON); @@ -122,8 +124,10 @@ class AliMUON : public AliDetector AliMUONData* fMUONData; // Data container for MUON subsystem Int_t fSplitLevel; // Splitlevel when making branches in outfiles. TObjArray* fChambers; // List of Tracking Chambers - TObjArray *fGeometryBuilders; // List of Geometry Builders TObjArray* fTriggerCircuits; // List of Trigger Circuits + AliMUONGeometryBuilder* fGeometryBuilder; // Geometry builder + Int_t fSegmentationType; // type for segmentation + AliMUONGeometryDEIndexing* fDEIndexing; // Geometry DE indexing // Bool_t fAccCut; //Transport acceptance cut @@ -140,9 +144,9 @@ class AliMUON : public AliDetector Int_t fMaxIterPad; // Maximum pad index Int_t fCurIterPad; // Current pad index // Background eent for event mixing - AliMUONMerger *fMerger; // ! pointer to merger + AliMUONFactoryV2* fFactory; // ! MUON factory - ClassDef(AliMUON,4) // MUON Detector base class + ClassDef(AliMUON,8) // MUON Detector base class }; #endif