New RecPoint container class. Access to RP through this class implemented for vertexe...
[u/mrichter/AliRoot.git] / ITS / AliITSRecPointContainer.h
CommitLineData
b21c1af0 1#ifndef ALIITSRECPOINTCONTAINER_H
2#define ALIITSRECPOINTCONTAINER_H
3/* Copyright(c) 2009-2011, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8////////////////////////////////////////////////////////////////////////
9// Container class for ITS rec points //
10////////////////////////////////////////////////////////////////////////
11
12#include <TClonesArray.h>
13#include <TString.h>
14
15class AliITSRecoParam;
16
17class AliITSRecPointContainer : public TObject {
18
19 public:
20
21 virtual ~AliITSRecPointContainer(); //Destructor
22
23 Bool_t IsSPDActive() const {return fDet.Contains("SPD");}
24 Bool_t IsSDDActive() const {return fDet.Contains("SDD");}
25 Bool_t IsSSDActive() const {return fDet.Contains("SSD");}
26 Bool_t IsITSComplete() const {return fDet.Contains("ALL");}
27
28 static AliITSRecPointContainer* Instance(const AliITSRecoParam *ptr=NULL);
29 TClonesArray* FetchClusters(Int_t mod, TTree* tR);
30 TClonesArray* UncheckedGetClusters(Int_t mod) const {return fArray[mod];}
31
32 private:
33 // methods
34 AliITSRecPointContainer(const AliITSRecoParam* krp=NULL); // Default constructor
35 AliITSRecPointContainer(const AliITSRecPointContainer& rec);
36 AliITSRecPointContainer& operator=(const AliITSRecPointContainer &source);
37 Bool_t CheckBoundaries(Int_t i)const { return (i>=0 && i<fgkNModules);}
38 void CookEntries();
39 void Reset();
40 //Data members
41 static AliITSRecPointContainer* fgInstance; //! AliITSRecPointContainer
42 // singleton
43 static const Int_t fgkNModules=2198; //! total number of ITS modules
44
45 Int_t fSPDNModules; //! number of SPD modules
46 Int_t fSDDNModules; //! number of SDD modules
47 Int_t fSSDNModules; //! number of SDD modules
48 TClonesArray* fArray[fgkNModules]; //! container - 1 TClonesArray per module
49 Int_t fCurrentEve; //!run number
50 Int_t fActualSize; //! actual number of ITS modules in TTree R
51 TString fDet; //! ITS subdetectors active for the current run
52
53 ClassDef(AliITSRecPointContainer,0)
54};
55
56#endif