]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/MUONrec/AliMUONSimpleClusterServer.h
Updated Doxygen documentation:
[u/mrichter/AliRoot.git] / MUON / MUONrec / 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 AliMUONGeometryTransformer;
20class AliMUONTriggerTrackToTrackerClusters;
21class AliMUONVClusterFinder;
22class AliMUONCluster;
23class AliMpVSegmentation;
24class AliMpExMap;
25class AliMpExMapIterator;
26class TClonesArray;
27
28class AliMUONSimpleClusterServer : public AliMUONVClusterServer
29{
30public:
31 AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder,
32 const AliMUONGeometryTransformer& transformer);
33
34 virtual ~AliMUONSimpleClusterServer();
35
36 Int_t Clusterize(Int_t chamberId,
37 AliMUONVClusterStore& clusterStore,
38 const AliMpArea& area,
39 const AliMUONRecoParam* recoParam = 0x0);
40
41 void UseDigits(TIter& next, AliMUONVDigitStore* digitStore = 0x0);
42
43 void Print(Option_t* opt="") const;
44
45 /// Use trigger tracks. Return kFALSE if not used.
46 virtual Bool_t UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore);
47
48private:
49 /// Not implemented
50 AliMUONSimpleClusterServer(const AliMUONSimpleClusterServer& rhs);
51 /// Not implemented
52 AliMUONSimpleClusterServer& operator=(const AliMUONSimpleClusterServer& rhs);
53
54 Bool_t Overlap(Int_t detElemId, const AliMpArea& area, AliMpArea& deArea) const;
55
56 void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const;
57
58 TObjArray* PadArray(Int_t detElemId, Int_t cathode) const;
59
60 Int_t FindMCLabel(const AliMUONCluster& cluster, Int_t detElemId, const AliMpVSegmentation* seg[2]) const;
61
62private:
63 AliMUONVDigitStore* fDigitStore; //!< the digit store (not owner)
64 AliMUONVClusterFinder* fClusterFinder; //!< the cluster finder (owner)
65 const AliMUONGeometryTransformer& fkTransformer; //!< the geometry transformer (not owner)
66 AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads
67 AliMpExMapIterator* fPadsIterator[2]; ///< iterator for the map of TClonesArray of AliMUONPads
68 AliMUONVTriggerTrackStore* fTriggerTrackStore; ///< trigger track store (if bypassing of St45 was requested) (not owner)
69 AliMUONTriggerTrackToTrackerClusters* fBypass; ///< to convert trigger track into tracker clusters (owner)
70
71 ClassDef(AliMUONSimpleClusterServer,0) // Cluster server
72};
73
74#endif