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.                  *
 **************************************************************************/
//
// Container for the reference distributions for the TRD PID
// Provides storing of the references together with the mometum steps
// they were taken
// More information can be found in the implementation file
//
#ifndef ALITRDPIDREFERENCE_H
#define ALITRDPIDREFERENCE_H

#include <TNamed.h>
#include <TArrayF.h>
#include "AliPID.h"

class TObjArray;

class AliTRDPIDReference : public TNamed{
public:
	AliTRDPIDReference();
	AliTRDPIDReference(const Char_t *name);
	AliTRDPIDReference(const AliTRDPIDReference &ref);
	AliTRDPIDReference &operator=(const AliTRDPIDReference &ref);
	~AliTRDPIDReference();

	void SetNumberOfMomentumBins(Int_t nBins, Float_t *momenta);
	void AddReference(TObject *histo, AliPID::EParticleType spec, Int_t pbin);

	// Derive reference
	TObject *GetLowerReference(AliPID::EParticleType spec, Float_t p, Float_t &pLower) const;
	TObject *GetUpperReference(AliPID::EParticleType spec, Float_t p, Float_t &pUpper) const;

	Int_t GetNumberOfMomentumBins() const { return fMomentumBins.GetSize(); }
	void Print(const Option_t *) const;
private:
	enum{
		kIsOwner = BIT(14)
	};
	TObjArray *fRefContainer;     // Histogram container
	TArrayF fMomentumBins;        // Momentum Bins

	ClassDef(AliTRDPIDReference, 1)		// Container for TRD references
};
#endif

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