ROOT logo
#ifndef AliRsnMiniMonitor_H
#define AliRsnMiniMonitor_H

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

////////////////////////////////////////////////////////////////////////////////
//
//  Monitors
//
////////////////////////////////////////////////////////////////////////////////

#include "TObjArray.h"

class AliRsnDaughter;
class AliRsnEvent;

class AliRsnMiniMonitor : public TNamed {
public:

   enum EType {
      kTrackPt,           // pt spectrum of single tracks with a given cut ID and charge
      kdEdxTPCvsP,        // TPC signal vs. momentum
      ktimeTOFvsPKaon,    // TOF time vs. momentum
      ktimeTOFvsPPion,    // TOF time vs. momentum
      ktimeTOFvsPProton,  // TOF time vs. momentum
      kTypes              // total number of cuts
   };

   AliRsnMiniMonitor();
   AliRsnMiniMonitor(const char *name, EType type, Int_t cutID);
   AliRsnMiniMonitor(const AliRsnMiniMonitor &copy);
   AliRsnMiniMonitor &operator=(const AliRsnMiniMonitor &copy);
   virtual ~AliRsnMiniMonitor() { }

   EType              GetType()   {return fType;}
   Int_t              GetCutID()  {return fCutID;}
   Char_t             GetCharge() {return fCharge;}
   Int_t              GetListID() {return fListID;}

   void               SetType(EType type)  {fType = type;}
   void               SetCutID(Int_t id)   {fCutID = id;}
   void               SetCharge(Char_t ch) {fCharge = ch;}

   static const char *Label(EType type);
   Bool_t             Init(const char *name, TList *list);
   Bool_t             Fill(AliRsnDaughter *track, AliRsnEvent *event);

protected:

   EType      fType;     //  monitor type
   Int_t      fCutID;    //  ID for cut to be used
   Char_t     fCharge;   //  charge to be used
   Int_t      fListID;   //  histogram ID in the list
   TList     *fList;     //! global output list

   ClassDef(AliRsnMiniMonitor, 1)  //  AliRsnMiniMonitor class
};

inline const char *AliRsnMiniMonitor::Label(EType type)
{
   switch (type) {
      case kdEdxTPCvsP      : return "TPCsignal";
      case ktimeTOFvsPPion  : return "TOFsignalPi";
      case ktimeTOFvsPKaon  : return "TOFsignalK";
      case ktimeTOFvsPProton: return "TOFsignalP";
      default               : return "X";
   }
}

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