]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackHitPattern.h
Fixing Coverity UNINIT defect
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackHitPattern.h
index 280d7c88f0fd7ecb48f4a339945a2c1c37724f24..04db940e122029d62862ca7a5a996fcedaff3bef 100644 (file)
 #include <TMatrixD.h>
 #include <TArrayI.h>
 #include <TArrayF.h>
-#include <TH3.h>
 
 class AliMUONVTrackStore;
 class AliMUONVTriggerStore;
 class AliMUONVTriggerTrackStore;
 class AliMUONTrackParam;
-class AliMUONDigitMaker;
 class AliMUONGeometryTransformer;
 class AliMUONVDigitStore;
 class AliMUONTriggerTrack;
 class AliMUONTrack;
+class AliMUONRecoParam;
 
 class AliMUONTrackHitPattern : public TObject 
 {
 public:
 
-  AliMUONTrackHitPattern(const AliMUONGeometryTransformer& transformer,
-                         const AliMUONDigitMaker& digitMaker);
+  AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam,
+                         const AliMUONGeometryTransformer& transformer,
+                         const AliMUONVDigitStore& digitStore);
   virtual ~AliMUONTrackHitPattern(); // Destructor
 
-  void ExecuteValidation(AliMUONVTrackStore& trackStore,
+  void ExecuteValidation(const AliMUONVTrackStore& trackStore,
                         const AliMUONVTriggerTrackStore& triggerTrackStore,
                         const AliMUONVTriggerStore& triggerStore) const;
   
@@ -43,29 +43,16 @@ public:
                                         AliMUONTrackParam& trackParam,
                                         const AliMUONVTriggerTrackStore& triggerTrackStore,
                                         const AliMUONVTriggerStore& triggerStore) const;
-    
-  UShort_t GetHitPattern(AliMUONTrackParam& trackParam,
-                        AliMUONTriggerTrack* matchedTriggerTrack,
-                        AliMUONVDigitStore& digitStore) const;
 
-  void UpdateQA() const;
+  UShort_t GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack) const;
+  
+  UShort_t GetHitPattern(AliMUONTrackParam* trackParam) const;
 
 protected:
   void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const;
   
-  Bool_t TriggerDigits(const AliMUONVTriggerStore& triggerStore, 
-                      AliMUONVDigitStore& digitStore) const;
-
-  void InitMembers();
-  
-  void SetBit(UShort_t& pattern, Int_t cathode, Int_t chamber) const;
-  
-  void AddEffInfo(UShort_t& pattern, Int_t slat, Int_t effType) const;
-  
-
   // Methods for hit pattern from tracker track
-  void FindPadMatchingTrack(AliMUONVDigitStore& digitStore,
-                           const AliMUONTrackParam& trackParam,
+  void FindPadMatchingTrack(const AliMUONTrackParam& trackParam,
                            Bool_t isMatch[2], Int_t iChamber) const;
 
   Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad,
@@ -74,10 +61,9 @@ protected:
 
   // Methods for hit pattern from matched trigger track
   Bool_t PerformTrigTrackMatch(UShort_t &pattern,
-                              AliMUONTriggerTrack *matchedTrigTrack,
-                              AliMUONVDigitStore& digitStore) const;
+                              const AliMUONTriggerTrack* matchedTrigTrack) const;
   
-  Int_t FindPadMatchingTrig(AliMUONVDigitStore& digitStore, Int_t &detElemId, Float_t coor[2],
+  Int_t FindPadMatchingTrig(Int_t &detElemId, Float_t coor[2],
                            Bool_t isMatch[2], TArrayI nboard[2],
                            TArrayF &zRealMatch, Float_t y11) const;
   
@@ -89,6 +75,9 @@ protected:
   void LocalBoardFromPos(Float_t x, Float_t y, Int_t detElemId,
                         Int_t cathode, Int_t localBoard[4]) const;
 
+  /// Return reco parameters
+  const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; }
+  
 private:
   /// Not implemented
   AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs);
@@ -96,33 +85,17 @@ private:
   AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs);
 
   void CheckConstants() const;
-  /// Get max number of strips along x
-  Int_t GetMaxX(Int_t cath) const {return (cath==0) ? 7 : 112;}
-  /// Get max number of strips along x
-  Int_t GetMaxY(Int_t cath) const {return (cath==0) ? 64 : 1;}
 
-  const AliMUONGeometryTransformer& fTransformer; //!< geometry transformer
-  const AliMUONDigitMaker& fDigitMaker; //!< pointer to digit maker
-
-  Double_t fDeltaZ; //!< distance between stations
-
-  TMatrixD* fTrigCovariance; //!< Covariance matrix 3x3 (X,Y,slopeY) for trigger tracks
+  const AliMUONRecoParam* fkRecoParam; //!< pointer to reco parameters
+  const AliMUONGeometryTransformer& fkTransformer; //!< geometry transformer
+  const AliMUONVDigitStore& fkDigitStore; //!< digitStore
 
   const Float_t fkMaxDistance; //!< Maximum distance for reference
   static const Int_t fgkNcathodes=2; //!<Number of cathodes
   static const Int_t fgkNchambers=4; //!<Number of chambers
   static const Int_t fgkNplanes=8;   //!<Number of planes
   static const Int_t fgkNlocations=4; //!<Number of locations
-
-  enum {
-    kNoEff,
-    kChEff,
-    kSlatEff,
-    kBoardEff
-  };
-
-  TH3F *fPadFired[fgkNcathodes]; ///< Histo counting the fired pads
-
+  
   ClassDef(AliMUONTrackHitPattern, 0) // MUON track hit pattern
 };