]>
Commit | Line | Data |
---|---|---|
d08b5461 | 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 | ||
e41c38cf | 9 | /// \ingroup rec |
d08b5461 | 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 | ||
9bf6860b | 19 | class AliESDMuonPad; |
d08b5461 | 20 | class AliMUONGeometryTransformer; |
9bf6860b | 21 | class AliMUONTriggerTrackToTrackerClusters; |
22 | class AliMUONVClusterFinder; | |
2e2d0c44 | 23 | class AliMUONCluster; |
24 | class AliMpVSegmentation; | |
d08b5461 | 25 | class AliMpExMap; |
7deb8eb0 | 26 | class TClonesArray; |
d08b5461 | 27 | |
28 | class AliMUONSimpleClusterServer : public AliMUONVClusterServer | |
29 | { | |
30 | public: | |
9bf6860b | 31 | AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder, |
d08b5461 | 32 | const AliMUONGeometryTransformer& transformer); |
33 | ||
34 | virtual ~AliMUONSimpleClusterServer(); | |
35 | ||
36 | Int_t Clusterize(Int_t chamberId, | |
37 | AliMUONVClusterStore& clusterStore, | |
35be7ed7 | 38 | const AliMpArea& area, |
39 | const AliMUONRecoParam* recoParam = 0x0); | |
d08b5461 | 40 | |
2e2d0c44 | 41 | void UseDigits(TIter& next, AliMUONVDigitStore* digitStore = 0x0); |
d08b5461 | 42 | |
43 | void Print(Option_t* opt="") const; | |
9bf6860b | 44 | |
45 | /// Use trigger tracks. Return kFALSE if not used. | |
46 | virtual Bool_t UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore); | |
47 | ||
d08b5461 | 48 | private: |
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 | TClonesArray* PadArray(Int_t detElemId, Int_t cathode) const; | |
59 | ||
2e2d0c44 | 60 | Int_t FindMCLabel(const AliMUONCluster& cluster, Int_t detElemId, const AliMpVSegmentation* seg[2]) const; |
61 | ||
d08b5461 | 62 | private: |
2e2d0c44 | 63 | AliMUONVDigitStore* fDigitStore; //!< the digit store (not owner) |
9bf6860b | 64 | AliMUONVClusterFinder* fClusterFinder; //!< the cluster finder (owner) |
72dae9ff | 65 | const AliMUONGeometryTransformer& fkTransformer; //!< the geometry transformer (not owner) |
d08b5461 | 66 | AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads |
9bf6860b | 67 | AliMUONVTriggerTrackStore* fTriggerTrackStore; ///< trigger track store (if bypassing of St45 was requested) (not owner) |
68 | AliMUONTriggerTrackToTrackerClusters* fBypass; ///< to convert trigger track into tracker clusters (owner) | |
d08b5461 | 69 | |
70 | ClassDef(AliMUONSimpleClusterServer,0) // Cluster server | |
71 | }; | |
72 | ||
73 | #endif |