]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONReconstructor.h
Also get stuff from directories
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
index c2796962b84a5a4c877574722d9b8b0e64207bfe..ef21609cff4c9670fa36c6e01f4e5c30fed3810f 100644 (file)
 #ifndef ALIRECONSTRUCTOR_H
 #  include "AliReconstructor.h"
 #endif
+#ifndef ROOT_TObjArray
+#define "TObjArray.h"
+#endif
 
 class AliMUONCalibrationData;
 class AliMUONDigitCalibrator;
 class AliMUONDigitMaker;
 class AliMUONGeometryTransformer;
-class AliMUONRecoParam;
 class AliMUONTracker;
 class AliMUONTriggerCircuit;
 class AliMUONVClusterFinder;
@@ -29,8 +31,11 @@ class AliMUONVClusterStore;
 class AliMUONVDigitStore;
 class AliMUONVTrackStore;
 class AliMUONVTriggerStore;
-class AliMUONVTriggerStore;
+class AliMUONTriggerElectronics;
 class TClonesArray;
+class AliMUONTriggerUtilities;
+
+#include "AliMUONRecoParam.h"
 
 class AliMUONReconstructor : public AliReconstructor
 {
@@ -48,7 +53,7 @@ public:
   
   virtual AliTracker* CreateTracker() const;
   
-  static void                    SetRecoParam(AliMUONRecoParam* recoParam) {fgRecoParam = recoParam;}
+  /// Get param object
   static const AliMUONRecoParam* GetRecoParam();
   
   static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType);
@@ -63,15 +68,18 @@ private:
                      AliMUONVDigitStore* digitStore,
                      AliMUONVTriggerStore* triggerStore) const;
   void Calibrate(AliMUONVDigitStore& digitStore) const;
+  void CreateCalibrationData() const;
   void CreateCalibrator() const;
   void CreateDigitMaker() const;
   void CreateTriggerCircuit() const;
-  void CreateClusterServer() const;
+  void CreateTriggerUtilities() const;
+  AliMUONVClusterServer* CreateClusterServer(const AliMUONRecoParam& rp) const;
   void FillTreeR(AliMUONVTriggerStore* triggerStore,
                  TTree& clustersTree) const;
   
   AliMUONVDigitStore* DigitStore() const;
   AliMUONVTriggerStore* TriggerStore() const;
+  void ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const;
   
 private:
 
@@ -81,14 +89,16 @@ private:
   mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
   mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
   mutable AliMUONDigitCalibrator* fDigitCalibrator; //!<  Digit to calibrate digit converter
-  mutable AliMUONVClusterServer* fClusterServer; //!<  Clusterizer
   mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
   mutable AliMUONVTrackStore* fTrackStore; //!< Track container
   mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode)
+  mutable AliMUONTriggerElectronics* fTriggerProcessor; //!< Processor to recalculate trigger response
+  mutable AliMUONTriggerUtilities* fTriggerUtilities; //!< Trigger utilities for masks
+  mutable TObjArray fClusterServers; //!<  Clusterizers (one per event specie)
+  mutable TObjArray fTrackers; //!< trackers (one per event specie)
+  mutable Bool_t fShouldCalibrate; // whether the fDigitCalibrator should be non-null
   
-  static AliMUONRecoParam* fgRecoParam; //!< parameters used to tune the MUON reconstruction
-    
-  ClassDef(AliMUONReconstructor,7) // Implementation of AliReconstructor
+  ClassDef(AliMUONReconstructor,12) // Implementation of AliReconstructor
 };
 
 #endif