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