ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
//
//
//
//  Xianguo Lu 
//  lu@physi.uni-heidelberg.de
//  Xianguo.Lu@cern.ch
//

#ifndef ALITRDDEDXCALIBHISTARRAY_H
#define ALITRDDEDXCALIBHISTARRAY_H


#ifndef THNSPARSE_H
#include "THnBase.h"
#endif

class TObjArray;
class TCollection;

class AliTRDdEdxCalibHistArray: public TObjArray
{
 public:
  AliTRDdEdxCalibHistArray(const Bool_t kNoInv=kTRUE);
  AliTRDdEdxCalibHistArray(const AliTRDdEdxCalibHistArray &obj);
  AliTRDdEdxCalibHistArray & operator=(const AliTRDdEdxCalibHistArray &obj);
  virtual ~AliTRDdEdxCalibHistArray(){} //definition {} important for virtual
  virtual Long64_t Merge(const TCollection* list);

  static TString GetArrayName(){ return "TRDdEdxCalibHistArray"; }
  static TString GetNameAt(const Int_t iter){ return Form("TRDdEdxCalibHist%d", iter); }
  static Int_t GetIterator(const Bool_t kinvq, const Double_t mag, const Int_t charge){ return kinvq*4 + (mag>0)*2 + (charge>0); }


  THnBase * GetHist(const Bool_t kinvq, const Double_t mag, const Int_t charge){ return (THnBase*) At(GetIterator(kinvq, mag, charge)); }

 private:
  
  ClassDef(AliTRDdEdxCalibHistArray,1);
};

#endif
 AliTRDdEdxCalibHistArray.h:1
 AliTRDdEdxCalibHistArray.h:2
 AliTRDdEdxCalibHistArray.h:3
 AliTRDdEdxCalibHistArray.h:4
 AliTRDdEdxCalibHistArray.h:5
 AliTRDdEdxCalibHistArray.h:6
 AliTRDdEdxCalibHistArray.h:7
 AliTRDdEdxCalibHistArray.h:8
 AliTRDdEdxCalibHistArray.h:9
 AliTRDdEdxCalibHistArray.h:10
 AliTRDdEdxCalibHistArray.h:11
 AliTRDdEdxCalibHistArray.h:12
 AliTRDdEdxCalibHistArray.h:13
 AliTRDdEdxCalibHistArray.h:14
 AliTRDdEdxCalibHistArray.h:15
 AliTRDdEdxCalibHistArray.h:16
 AliTRDdEdxCalibHistArray.h:17
 AliTRDdEdxCalibHistArray.h:18
 AliTRDdEdxCalibHistArray.h:19
 AliTRDdEdxCalibHistArray.h:20
 AliTRDdEdxCalibHistArray.h:21
 AliTRDdEdxCalibHistArray.h:22
 AliTRDdEdxCalibHistArray.h:23
 AliTRDdEdxCalibHistArray.h:24
 AliTRDdEdxCalibHistArray.h:25
 AliTRDdEdxCalibHistArray.h:26
 AliTRDdEdxCalibHistArray.h:27
 AliTRDdEdxCalibHistArray.h:28
 AliTRDdEdxCalibHistArray.h:29
 AliTRDdEdxCalibHistArray.h:30
 AliTRDdEdxCalibHistArray.h:31
 AliTRDdEdxCalibHistArray.h:32
 AliTRDdEdxCalibHistArray.h:33
 AliTRDdEdxCalibHistArray.h:34
 AliTRDdEdxCalibHistArray.h:35
 AliTRDdEdxCalibHistArray.h:36
 AliTRDdEdxCalibHistArray.h:37
 AliTRDdEdxCalibHistArray.h:38
 AliTRDdEdxCalibHistArray.h:39
 AliTRDdEdxCalibHistArray.h:40
 AliTRDdEdxCalibHistArray.h:41
 AliTRDdEdxCalibHistArray.h:42
 AliTRDdEdxCalibHistArray.h:43
 AliTRDdEdxCalibHistArray.h:44
 AliTRDdEdxCalibHistArray.h:45
 AliTRDdEdxCalibHistArray.h:46
 AliTRDdEdxCalibHistArray.h:47
 AliTRDdEdxCalibHistArray.h:48
 AliTRDdEdxCalibHistArray.h:49
 AliTRDdEdxCalibHistArray.h:50
 AliTRDdEdxCalibHistArray.h:51
 AliTRDdEdxCalibHistArray.h:52
 AliTRDdEdxCalibHistArray.h:53
 AliTRDdEdxCalibHistArray.h:54
 AliTRDdEdxCalibHistArray.h:55