* See cxx source for full Copyright notice */
/* $Id $*/
-// Revision of includes 07/05/2004
+// Revision of includes 07/04/2006
+
+/// \ingroup rec
+/// \class AliMUONClusterInput
+/// \brief Global data service for hit reconstruction
#include <TObject.h>
#include <TClonesArray.h> // needed for inline function Digit
-class TMinuit;
-
class AliMUONDigit;
class AliMUONRawCluster;
-class AliSegmentation;
class AliMUONMathieson;
+class AliMUONGeometryTransformer;
+class AliMUONSegmentation;
+class AliMUONGeometrySegmentation;
+
+class TMinuit;
class AliMUONClusterInput : public TObject
{
virtual ~AliMUONClusterInput();
static AliMUONClusterInput* Instance();
// Configuration
- void SetDigits(Int_t chamber, TClonesArray* dig1, TClonesArray* dig2);
- void SetDigits(Int_t chamber, TClonesArray* dig);
+ void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig1, TClonesArray* dig2);
+ void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig);
void SetCluster(AliMUONRawCluster* cluster);
// Access functions
Int_t Chamber() const {return fChamber;}
AliMUONDigit* Digit(Int_t cath, Int_t i) const {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));}
TClonesArray* Digits(Int_t cath) const {return fDigits[cath];}
Int_t NDigits(Int_t cath) const {return fNDigits[cath];}
- AliSegmentation* Segmentation(Int_t cath) const {return fSegmentation[cath];}
+ AliMUONGeometrySegmentation* Segmentation2(Int_t cath) const {return fSegmentation2[cath];}
+
AliMUONMathieson* Mathieson() const {return fgMathieson;}
Float_t ChargeCorrel() const {return fChargeCorrel;}
+ Int_t DetElemId() const {return fDetElemId;}
// Fitting
TMinuit* Fitter() const {return fgMinuit;}
AliMUONClusterInput(const AliMUONClusterInput& clusterInput);
AliMUONClusterInput & operator = (const AliMUONClusterInput& rhs);
private:
- static AliMUONClusterInput* fgClusterInput; // ! singleton instance
- static AliMUONMathieson* fgMathieson; // ! Mathieson
+ static AliMUONClusterInput* fgClusterInput; // ! singleton instance
+ static AliMUONMathieson* fgMathieson; // ! Mathieson
+ static AliMUONGeometryTransformer* fgTransformer; // ! Geometry transformer
+ static AliMUONSegmentation* fgSegmentation; // ! Segmentation
// Digits
TClonesArray* fDigits[2]; // ! Array of pointers to digits
Int_t fNDigits[2]; // ! Number of digits
- AliSegmentation* fSegmentation[2]; // ! Segmentation per cathode
+ AliMUONGeometrySegmentation* fSegmentation2[2]; // ! Geometry Segmentation per cathode
+
Int_t fNseg; // ! number of cathode planes
Int_t fChamber; // ! Current chamber number
Float_t fQtot[2]; // ! Total charge
Float_t fZ; // ! Current z-position
Float_t fChargeCorrel; // ! charge correlation
+ Int_t fDetElemId; // ! detection elt id
// Fitter
static TMinuit* fgMinuit; // ! Fitter