New interface of a VStore to hold clusters (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONVClusterStore.h
CommitLineData
25819f29 1#ifndef ALIMUONVCLUSTERSTORE_H
2#define ALIMUONVCLUSTERSTORE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \ingroup rec
10/// \class AliMUONVClusterStore
11/// \brief Interface of a cluster container
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ALIMUONVSTORE_H
16# include "AliMUONVStore.h"
17#endif
18
19class AliMUONRawCluster;
20
21class AliMUONVClusterStore : public AliMUONVStore
22{
23public:
24 AliMUONVClusterStore();
25 virtual ~AliMUONVClusterStore();
26
27 virtual Bool_t Add(TObject* object);
28
29 /// Add a cluster object to the store
30 virtual Bool_t Add(const AliMUONRawCluster& Cluster) = 0;
31
32 using AliMUONVStore::Create;
33
34 static AliMUONVClusterStore* Create(TTree& tree);
35
36 /// Return an iterator to loop over the whole store
37 virtual TIterator* CreateIterator() const = 0;
38
39 /// Return an iterator to loop over the store in the given chamber range
40 virtual TIterator* CreateChamberIterator(Int_t firstChamberId, Int_t lastChamberId) const = 0;
41
42 /// Remove a cluster object to the store
43 virtual AliMUONRawCluster* Remove(AliMUONRawCluster& cluster) = 0;
44
45 using AliMUONVStore::GetSize;
46
47 ClassDef(AliMUONVClusterStore,1) // Cluster container interface
48};
49
50#endif