#ifndef ALIITSRECPOINTCONTAINER_H #define ALIITSRECPOINTCONTAINER_H /* Copyright(c) 2009-2011, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ //////////////////////////////////////////////////////////////////////// // Container class for ITS rec points // //////////////////////////////////////////////////////////////////////// #include #include class AliITSRecoParam; class AliITSRecPointContainer : public TObject { public: virtual ~AliITSRecPointContainer(); //Destructor Bool_t IsSPDActive() const {return fDet.Contains("SPD");} Bool_t IsSDDActive() const {return fDet.Contains("SDD");} Bool_t IsSSDActive() const {return fDet.Contains("SSD");} Bool_t IsITSComplete() const {return fDet.Contains("ALL");} Bool_t GetStatusOK() const {return fStatusOK;} Int_t GetNumberOfModules() const {return fActualSize; } static AliITSRecPointContainer* Instance(const AliITSRecoParam *ptr=NULL); void PrepareToRead(){if(fNextEvent<0){fNextEvent=0;} else {++fNextEvent;}} TClonesArray* FetchClusters(Int_t mod, TTree* tR); TClonesArray* FetchClusters(Int_t mod, TTree* tR,Int_t cureve); TClonesArray* UncheckedGetClusters(Int_t mod) const {return fArray[mod];} // In the following two methods: 1<=lay<=6 (i.e. layers numbered from 1) UInt_t GetNClustersInLayer(Int_t lay, TTree* tR, Int_t eventN=-1); UInt_t GetNClustersInLayerFast(Int_t lay) const; private: // methods AliITSRecPointContainer(const AliITSRecoParam* krp=NULL); // Default constructor AliITSRecPointContainer(const AliITSRecPointContainer& rec); AliITSRecPointContainer& operator=(const AliITSRecPointContainer &source); Bool_t CheckBoundaries(Int_t i)const { return (i>=0 && i