ROOT logo
#ifndef ALIMUONQAMAPPINGCHECK_H
#define ALIMUONQAMAPPINGCHECK_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup rec
/// \class AliMUONQAMappingCheck
/// \brief Class to be called from AliMUONQADataMakerRec
/// 
// author Laurent Aphecetche

#ifndef ROOT_TObject
#  include "TObject.h"
#endif

class AliMUONDigitCalibrator;
class AliMUONGeometryTransformer;
class AliMUONVCluster;
class AliMUONVStore;
class AliMUONVTrackerData;

class AliMUONQAMappingCheck : public TObject
{
public:
  AliMUONQAMappingCheck(Int_t runNumber);
  virtual ~AliMUONQAMappingCheck();

  void NewEvent();
  
  AliMUONVTrackerData* CreateData(const char* name) const;

  void Store(AliMUONVCluster& cluster);
  
private:
  
  /// not defined on purpose
  AliMUONQAMappingCheck(const AliMUONQAMappingCheck& rhs);
  /// not defined on purpose
  AliMUONQAMappingCheck& operator=(const AliMUONQAMappingCheck& rhs);
  
  void GetClusterLocation(AliMUONVCluster& cluster, 
                          Int_t& manuBending, Int_t& manuBendingChannel, 
                          Int_t& manuNonBending, Int_t& manuNonBendingChannel,
                          Bool_t& monoCathode, Bool_t& legitimateMonoCathode);

  void AddClusterLocation(Int_t detElemId,
                          Int_t manuId, Int_t manuChannel, 
                          Bool_t monoCathode, Bool_t legitimateMonoCathode);
  
  Bool_t IsChannelDead(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
  
  Bool_t IsManuDead(Int_t detElemId, Int_t manuId) const;
  
private:
   
  AliMUONVStore* fStore; //!< store cluster informations at manu level
  
  AliMUONGeometryTransformer* fGeometryTransformer;  //!< to go from global to local DE coordinates
  
  AliMUONDigitCalibrator* fDigitCalibrator; //!< to get statusmap
  
  Int_t fNumberOfEvents; //!< number of events seen
  
  Int_t fNumberOfClusters; //!< total number of clusters seen
  
  Int_t fNumberOfMonoCathodeClusters; //!< total number of mono-cathode clusters seen
  
  Int_t fNumberOfLegitimateMonoCathodeClusters; //!< number of mono-cathode that have a reason to be so
  
  ClassDef(AliMUONQAMappingCheck,1) // QADataMaker helper class
};

#endif
 AliMUONQAMappingCheck.h:1
 AliMUONQAMappingCheck.h:2
 AliMUONQAMappingCheck.h:3
 AliMUONQAMappingCheck.h:4
 AliMUONQAMappingCheck.h:5
 AliMUONQAMappingCheck.h:6
 AliMUONQAMappingCheck.h:7
 AliMUONQAMappingCheck.h:8
 AliMUONQAMappingCheck.h:9
 AliMUONQAMappingCheck.h:10
 AliMUONQAMappingCheck.h:11
 AliMUONQAMappingCheck.h:12
 AliMUONQAMappingCheck.h:13
 AliMUONQAMappingCheck.h:14
 AliMUONQAMappingCheck.h:15
 AliMUONQAMappingCheck.h:16
 AliMUONQAMappingCheck.h:17
 AliMUONQAMappingCheck.h:18
 AliMUONQAMappingCheck.h:19
 AliMUONQAMappingCheck.h:20
 AliMUONQAMappingCheck.h:21
 AliMUONQAMappingCheck.h:22
 AliMUONQAMappingCheck.h:23
 AliMUONQAMappingCheck.h:24
 AliMUONQAMappingCheck.h:25
 AliMUONQAMappingCheck.h:26
 AliMUONQAMappingCheck.h:27
 AliMUONQAMappingCheck.h:28
 AliMUONQAMappingCheck.h:29
 AliMUONQAMappingCheck.h:30
 AliMUONQAMappingCheck.h:31
 AliMUONQAMappingCheck.h:32
 AliMUONQAMappingCheck.h:33
 AliMUONQAMappingCheck.h:34
 AliMUONQAMappingCheck.h:35
 AliMUONQAMappingCheck.h:36
 AliMUONQAMappingCheck.h:37
 AliMUONQAMappingCheck.h:38
 AliMUONQAMappingCheck.h:39
 AliMUONQAMappingCheck.h:40
 AliMUONQAMappingCheck.h:41
 AliMUONQAMappingCheck.h:42
 AliMUONQAMappingCheck.h:43
 AliMUONQAMappingCheck.h:44
 AliMUONQAMappingCheck.h:45
 AliMUONQAMappingCheck.h:46
 AliMUONQAMappingCheck.h:47
 AliMUONQAMappingCheck.h:48
 AliMUONQAMappingCheck.h:49
 AliMUONQAMappingCheck.h:50
 AliMUONQAMappingCheck.h:51
 AliMUONQAMappingCheck.h:52
 AliMUONQAMappingCheck.h:53
 AliMUONQAMappingCheck.h:54
 AliMUONQAMappingCheck.h:55
 AliMUONQAMappingCheck.h:56
 AliMUONQAMappingCheck.h:57
 AliMUONQAMappingCheck.h:58
 AliMUONQAMappingCheck.h:59
 AliMUONQAMappingCheck.h:60
 AliMUONQAMappingCheck.h:61
 AliMUONQAMappingCheck.h:62
 AliMUONQAMappingCheck.h:63
 AliMUONQAMappingCheck.h:64
 AliMUONQAMappingCheck.h:65
 AliMUONQAMappingCheck.h:66
 AliMUONQAMappingCheck.h:67
 AliMUONQAMappingCheck.h:68
 AliMUONQAMappingCheck.h:69
 AliMUONQAMappingCheck.h:70
 AliMUONQAMappingCheck.h:71
 AliMUONQAMappingCheck.h:72
 AliMUONQAMappingCheck.h:73
 AliMUONQAMappingCheck.h:74
 AliMUONQAMappingCheck.h:75
 AliMUONQAMappingCheck.h:76