#ifndef ALIITSDEDXSAMPLES_H #define ALIITSDEDXSAMPLES_H /* Copyright(c) 2009-2012, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /////////////////////////////////////////////////////////////////// // // // Class to store information for PID with ITS // // and truncated mean computation methods // // Origin: F.Prino, Torino, prino@to.infn.it // // // /////////////////////////////////////////////////////////////////// #include #include "AliPID.h" class AliITSPidParams; class AliITSdEdxSamples : public TObject { public: AliITSdEdxSamples(); AliITSdEdxSamples(Int_t nSamples, Double_t* esamples, Double_t* xsamples, Double_t mom, Int_t specie=0); AliITSdEdxSamples(const AliITSdEdxSamples& source); virtual ~AliITSdEdxSamples(){}; void SetdESamples(Int_t nSamples, Double_t* samples); void SetdxSamples(Int_t nSamples, Double_t* samples); void SetSamplesAndMomenta(Int_t nSamples, Double_t* esamples, Double_t* xsamples, Double_t* mom); void SetNSamples(Int_t nSamples){ fNSamples=nSamples; } void SetLayerSample(Int_t iLayer, Bool_t haspoint, Double_t dE=0., Double_t dx=0., Double_t p=0.); void SetMomentum(Double_t mom){ fP=mom; } void SetParticleSpecieMC(Int_t specie){ fParticleSpecie=specie; } void SetClusterMap(UInt_t map){ fClusterMap=map; } void SetPointOnLayer(Int_t iLay){ fClusterMap|=(1<0.) return fdESamples[i]/(fdxSamples[i]*100.); else return 0.; } Double_t GetMomentum() const { return fP; } Double_t GetMomentumAtSample(Int_t i) const{ if(i0.) SetPointOnLayer(i); } enum{kMaxSamples=10}; // max. n. of layers with dE/dx info Int_t fNSamples; // number of samples UInt_t fClusterMap; // map of clusters in layers Double_t fdESamples[kMaxSamples]; // dE samples (keV) Double_t fdxSamples[kMaxSamples]; // dx samples (cm) Double_t fP; // track momentum Int_t fParticleSpecie; // MC generated particle Double_t fPAtSample[kMaxSamples]; // track momentum at specific samples UInt_t fLayersForPid; // bit-map to enable/disable layers in PID ClassDef(AliITSdEdxSamples,3); }; #endif