]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON.h
Adding CreateIterator(void) and GetNeighbours() pure virtual methods,
[u/mrichter/AliRoot.git] / MUON / AliMUON.h
index 532ef55a7d1efa75266c3765d7b5286264cc4d6d..f46d628ea3c23a44ab4a51675469c74b8a547600 100644 (file)
@@ -25,8 +25,6 @@ class TFile;
 class TTree;
 
 class AliLoader;
-class AliMUONTriggerCircuit;
-class AliMUONTriggerCircuitNew;
 class AliMUONData;
 class AliMUONResponse;
 class AliMUONSegmentation;
@@ -38,14 +36,13 @@ class AliMUONGeometryBuilder;
 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
@@ -86,7 +83,8 @@ class AliMUON : public  AliDetector
     virtual void   SDigits2Digits();      
     virtual void   Hits2SDigits();
     virtual void   Digits2Raw();
-    
+    virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
+
     // Trigger
                    /// Create trigger
     virtual AliTriggerDetector* CreateTriggerDetector() const
@@ -122,30 +120,34 @@ class AliMUON : public  AliDetector
                    /// 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);
@@ -158,8 +160,6 @@ 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*            fTriggerCircuits;    ///< List of Trigger Circuits
-    TObjArray*            fTriggerCircuitsNew; ///< List of Trigger Circuits
     AliMUONGeometryBuilder*  fGeometryBuilder; ///< Geometry builder 
     AliMUONSegmentation*  fSegmentation;       ///< New segmentation 
    
@@ -178,15 +178,17 @@ class AliMUON : public  AliDetector
     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