]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONSimpleClusterServer.h
Streamable, needed by HLT.
[u/mrichter/AliRoot.git] / MUON / AliMUONSimpleClusterServer.h
... / ...
CommitLineData
1#ifndef ALIMUONSIMPLECLUSTERSERVER_H
2#define ALIMUONSIMPLECLUSTERSERVER_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 AliMUONSimpleClusterServer
11/// \brief Implementation of AliMUONVClusterServer interface
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ALIMUONVCLUSTERSERVER_H
16# include "AliMUONVClusterServer.h"
17#endif
18
19class AliESDMuonPad;
20class AliMUONGeometryTransformer;
21class AliMUONTriggerTrackToTrackerClusters;
22class AliMUONVClusterFinder;
23class AliMpExMap;
24class TClonesArray;
25
26class AliMUONSimpleClusterServer : public AliMUONVClusterServer
27{
28public:
29 AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder,
30 const AliMUONGeometryTransformer& transformer);
31
32 virtual ~AliMUONSimpleClusterServer();
33
34 Int_t Clusterize(Int_t chamberId,
35 AliMUONVClusterStore& clusterStore,
36 const AliMpArea& area,
37 const AliMUONRecoParam* recoParam = 0x0);
38
39 void UseDigits(TIter& next);
40
41 void Print(Option_t* opt="") const;
42
43 /// Use trigger tracks. Return kFALSE if not used.
44 virtual Bool_t UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore);
45
46private:
47 /// Not implemented
48 AliMUONSimpleClusterServer(const AliMUONSimpleClusterServer& rhs);
49 /// Not implemented
50 AliMUONSimpleClusterServer& operator=(const AliMUONSimpleClusterServer& rhs);
51
52 Bool_t Overlap(Int_t detElemId, const AliMpArea& area, AliMpArea& deArea) const;
53
54 void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const;
55
56 TClonesArray* PadArray(Int_t detElemId, Int_t cathode) const;
57
58private:
59 AliMUONVClusterFinder* fClusterFinder; //!< the cluster finder (owner)
60 const AliMUONGeometryTransformer& fkTransformer; //!< the geometry transformer (not owner)
61 AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads
62 AliMUONVTriggerTrackStore* fTriggerTrackStore; ///< trigger track store (if bypassing of St45 was requested) (not owner)
63 AliMUONTriggerTrackToTrackerClusters* fBypass; ///< to convert trigger track into tracker clusters (owner)
64
65 ClassDef(AliMUONSimpleClusterServer,0) // Cluster server
66};
67
68#endif