ROOT logo
#ifndef ALIFMDQADATAMAKERREC_H
#define ALIFMDQADATAMAKERREC_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
 * reserved. 
 *
 * See cxx source for full Copyright notice                               
 */
#include "AliQADataMakerRec.h"
#include "TClonesArray.h"
class TH1F; 
class TH1I; 
class TList; 
class AliFMDReconstructor;

//_____________________________________________________________________
// This class implements the AliQADataMakerRec for the FMD. Some
// functions are not implemented yet. 
// Author : Hans Hjersing Dalsgaard, hans.dalsgaard@cern.ch
//_____________________________________________________________________

class AliFMDQADataMakerRec: public AliQADataMakerRec 
{
public:
  enum { 
    kResetBit = BIT(23)
  };
  /** 
   * Constructor
   */
  AliFMDQADataMakerRec();
  /** 
   * Copy constructor 
   * 
   * @param qadm What to copy from
   */
  AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm);
  /** 
   * Assignment operator 
   * 
   * @param qadm What to assign from 
   * 
   * @return Reference to this
   */
  AliFMDQADataMakerRec& operator = (const AliFMDQADataMakerRec& qadm) ;
  /** 
   * Destrcutor 
   */
  virtual ~AliFMDQADataMakerRec();
  /** 
   * Get the half-ring index
   * 
   * @param det      Detector
   * @param ring     Ring
   * @param board    Board number
   * @param monitor  Monitor 
   * 
   * @return Half ring index
   */
  static Int_t GetHalfringIndex(UShort_t det, Char_t ring, 
				UShort_t board, UShort_t monitor = 0);
  static void GetHalfringFromIndex(Int_t     idx, 
				   UShort_t& det, 
				   Char_t&   ring, 
				   UShort_t& board, 
				   UShort_t& monitor);
private:
  static TH1* MakeADCHist(UShort_t d=0, Char_t r='\0', Short_t b=-1);
  static TH1* MakeELossHist(UShort_t d=0, Char_t r='\0', Short_t b=-1);
  
  /** 
   * Called at end of monitor cycle 
   * 
   * @param TASKINDEX_t Task
   * @param list        Output list
   */
  virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list);
  /** 
   * Intialize for ESD
   */
  virtual void   InitESDs(); 
  /** 
   * Intialize for Digits
   */
  virtual void   InitDigits(); 
  /** 
   * Intialize for RecPoints
   */
  virtual void   InitRecPoints(); 
  /** 
   * Initialise for raw 
   */
  virtual void   InitRaws(); 
  /** 
   * Analyse ESD event
   * 
   * @param esd ESD event
   */
  virtual void   MakeESDs(AliESDEvent * esd);
  /** 
   * Analyse digits 
   */
  virtual void   MakeDigits(); 
  /** 
   * Analyse digits
   * 
   * @param digitTree Tree of digits
   */
  virtual void   MakeDigits(TTree * digitTree); 
  /** 
   * Analyse rec points
   * 
   * @param recpoTree Tree of RecPoints
   */
  virtual void   MakeRecPoints(TTree * recpoTree); 
  /** 
   * Analyse raw 
   * 
   * @param rawReader Raw reader
   */
  virtual void   MakeRaws(AliRawReader* rawReader); 
  /** 
   * Called at start of a cycle 
   * 
   */
  virtual void   StartOfDetectorCycle(); 
  TClonesArray fRecPointsArray; // Rec points
  AliFMDReconstructor* fReconstructor;
  Bool_t               fUseReconstructor;

  ClassDef(AliFMDQADataMakerRec,0)  // description 
};

#endif // AliFMDQADataMakerRec_H
//____________________________________________________________________
//
// Local Variables: 
//  mode: c++
// End:
//

 AliFMDQADataMakerRec.h:1
 AliFMDQADataMakerRec.h:2
 AliFMDQADataMakerRec.h:3
 AliFMDQADataMakerRec.h:4
 AliFMDQADataMakerRec.h:5
 AliFMDQADataMakerRec.h:6
 AliFMDQADataMakerRec.h:7
 AliFMDQADataMakerRec.h:8
 AliFMDQADataMakerRec.h:9
 AliFMDQADataMakerRec.h:10
 AliFMDQADataMakerRec.h:11
 AliFMDQADataMakerRec.h:12
 AliFMDQADataMakerRec.h:13
 AliFMDQADataMakerRec.h:14
 AliFMDQADataMakerRec.h:15
 AliFMDQADataMakerRec.h:16
 AliFMDQADataMakerRec.h:17
 AliFMDQADataMakerRec.h:18
 AliFMDQADataMakerRec.h:19
 AliFMDQADataMakerRec.h:20
 AliFMDQADataMakerRec.h:21
 AliFMDQADataMakerRec.h:22
 AliFMDQADataMakerRec.h:23
 AliFMDQADataMakerRec.h:24
 AliFMDQADataMakerRec.h:25
 AliFMDQADataMakerRec.h:26
 AliFMDQADataMakerRec.h:27
 AliFMDQADataMakerRec.h:28
 AliFMDQADataMakerRec.h:29
 AliFMDQADataMakerRec.h:30
 AliFMDQADataMakerRec.h:31
 AliFMDQADataMakerRec.h:32
 AliFMDQADataMakerRec.h:33
 AliFMDQADataMakerRec.h:34
 AliFMDQADataMakerRec.h:35
 AliFMDQADataMakerRec.h:36
 AliFMDQADataMakerRec.h:37
 AliFMDQADataMakerRec.h:38
 AliFMDQADataMakerRec.h:39
 AliFMDQADataMakerRec.h:40
 AliFMDQADataMakerRec.h:41
 AliFMDQADataMakerRec.h:42
 AliFMDQADataMakerRec.h:43
 AliFMDQADataMakerRec.h:44
 AliFMDQADataMakerRec.h:45
 AliFMDQADataMakerRec.h:46
 AliFMDQADataMakerRec.h:47
 AliFMDQADataMakerRec.h:48
 AliFMDQADataMakerRec.h:49
 AliFMDQADataMakerRec.h:50
 AliFMDQADataMakerRec.h:51
 AliFMDQADataMakerRec.h:52
 AliFMDQADataMakerRec.h:53
 AliFMDQADataMakerRec.h:54
 AliFMDQADataMakerRec.h:55
 AliFMDQADataMakerRec.h:56
 AliFMDQADataMakerRec.h:57
 AliFMDQADataMakerRec.h:58
 AliFMDQADataMakerRec.h:59
 AliFMDQADataMakerRec.h:60
 AliFMDQADataMakerRec.h:61
 AliFMDQADataMakerRec.h:62
 AliFMDQADataMakerRec.h:63
 AliFMDQADataMakerRec.h:64
 AliFMDQADataMakerRec.h:65
 AliFMDQADataMakerRec.h:66
 AliFMDQADataMakerRec.h:67
 AliFMDQADataMakerRec.h:68
 AliFMDQADataMakerRec.h:69
 AliFMDQADataMakerRec.h:70
 AliFMDQADataMakerRec.h:71
 AliFMDQADataMakerRec.h:72
 AliFMDQADataMakerRec.h:73
 AliFMDQADataMakerRec.h:74
 AliFMDQADataMakerRec.h:75
 AliFMDQADataMakerRec.h:76
 AliFMDQADataMakerRec.h:77
 AliFMDQADataMakerRec.h:78
 AliFMDQADataMakerRec.h:79
 AliFMDQADataMakerRec.h:80
 AliFMDQADataMakerRec.h:81
 AliFMDQADataMakerRec.h:82
 AliFMDQADataMakerRec.h:83
 AliFMDQADataMakerRec.h:84
 AliFMDQADataMakerRec.h:85
 AliFMDQADataMakerRec.h:86
 AliFMDQADataMakerRec.h:87
 AliFMDQADataMakerRec.h:88
 AliFMDQADataMakerRec.h:89
 AliFMDQADataMakerRec.h:90
 AliFMDQADataMakerRec.h:91
 AliFMDQADataMakerRec.h:92
 AliFMDQADataMakerRec.h:93
 AliFMDQADataMakerRec.h:94
 AliFMDQADataMakerRec.h:95
 AliFMDQADataMakerRec.h:96
 AliFMDQADataMakerRec.h:97
 AliFMDQADataMakerRec.h:98
 AliFMDQADataMakerRec.h:99
 AliFMDQADataMakerRec.h:100
 AliFMDQADataMakerRec.h:101
 AliFMDQADataMakerRec.h:102
 AliFMDQADataMakerRec.h:103
 AliFMDQADataMakerRec.h:104
 AliFMDQADataMakerRec.h:105
 AliFMDQADataMakerRec.h:106
 AliFMDQADataMakerRec.h:107
 AliFMDQADataMakerRec.h:108
 AliFMDQADataMakerRec.h:109
 AliFMDQADataMakerRec.h:110
 AliFMDQADataMakerRec.h:111
 AliFMDQADataMakerRec.h:112
 AliFMDQADataMakerRec.h:113
 AliFMDQADataMakerRec.h:114
 AliFMDQADataMakerRec.h:115
 AliFMDQADataMakerRec.h:116
 AliFMDQADataMakerRec.h:117
 AliFMDQADataMakerRec.h:118
 AliFMDQADataMakerRec.h:119
 AliFMDQADataMakerRec.h:120
 AliFMDQADataMakerRec.h:121
 AliFMDQADataMakerRec.h:122
 AliFMDQADataMakerRec.h:123
 AliFMDQADataMakerRec.h:124
 AliFMDQADataMakerRec.h:125
 AliFMDQADataMakerRec.h:126
 AliFMDQADataMakerRec.h:127
 AliFMDQADataMakerRec.h:128
 AliFMDQADataMakerRec.h:129
 AliFMDQADataMakerRec.h:130
 AliFMDQADataMakerRec.h:131
 AliFMDQADataMakerRec.h:132
 AliFMDQADataMakerRec.h:133
 AliFMDQADataMakerRec.h:134
 AliFMDQADataMakerRec.h:135
 AliFMDQADataMakerRec.h:136
 AliFMDQADataMakerRec.h:137
 AliFMDQADataMakerRec.h:138
 AliFMDQADataMakerRec.h:139
 AliFMDQADataMakerRec.h:140