]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliClusterTGeo.h
Adding AliMUONLog class (Laurent)
[u/mrichter/AliRoot.git] / STEER / AliClusterTGeo.h
CommitLineData
e5eb5735 1#ifndef ALICLUSTERTGEO_H
2#define ALICLUSTERTGEO_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//-------------------------------------------------------------------------
7// Class AliClusterTGeo
8// This is the future base for managing the clusters in barrel detectors.
9// It is fully interfaced with the ROOT geometrical modeller TGeo.
10// Each cluster contains XYZ coordinates in the local tracking c.s. and
11// the unique ID of the sensitive detector element which continas the
12// cluster. The coordinates in global c.s. are computed using the interface
13// to TGeo and will be not overwritten by the derived sub-detector cluster
14// classes.
15//
16// cvetan.cheshkov@cern.ch & jouri.belikov@cern.ch 5/3/2007
17//-------------------------------------------------------------------------
18
19#include <TObject.h>
20
21class TGeoHMatrix;
22class TGeoPNEntry;
23
24class AliClusterTGeo : public TObject {
25 public:
26 AliClusterTGeo();
27 AliClusterTGeo(UShort_t volId, const Float_t *hit, Float_t x = 0, Float_t sigyz = 0, const Int_t *lab = NULL);
28 virtual ~AliClusterTGeo() {;}
29
30 Int_t GetLabel(Int_t i) const {return fTracks[i];}
31 Float_t GetX() const {return fX;}
32 Float_t GetY() const {return fY;}
33 Float_t GetZ() const {return fZ;}
34 Float_t GetSigmaY2() const {return fSigmaY2;}
35 Float_t GetSigmaZ2() const {return fSigmaZ2;}
36 UShort_t GetVolumeId() const {return fVolumeId;}
37
38 virtual void Use(Int_t = 0) {;}
39
40 Bool_t GetGlobalXYZ(Float_t xyz[3]) const;
41 Bool_t GetGlobalCov(Float_t cov[6]) const;
42 Bool_t GetXRefPlane(Float_t &xref) const;
43
44 Bool_t Misalign();
45
46 protected:
47
48 AliClusterTGeo(const AliClusterTGeo& cluster);
49 AliClusterTGeo &operator=(const AliClusterTGeo& cluster);
50
51 private:
52
53 TGeoHMatrix* GetMatrix(Bool_t original = kFALSE) const;
54 const TGeoHMatrix* GetTracking2LocalMatrix() const;
55 TGeoPNEntry* GetPNEntry() const;
56
57 Int_t fTracks[3];//MC labels
58 Float_t fX; // X of the cluster in the tracking c.s.
59 Float_t fY; // Y of the cluster in the tracking c.s.
60 Float_t fZ; // Z of the cluster in the tracking c.s.
61 Float_t fSigmaY2; // Sigma Y square of cluster
62 Float_t fSigmaZ2; // Sigma Z square of cluster
63 Float_t fSigmaYZ; // Non-diagonal element of cov.matrix
64 UShort_t fVolumeId; // Volume ID of the detector element
65 Bool_t fIsMisaligned; // Cluster was misagned or not?
66
67 ClassDef(AliClusterTGeo,1) // Barrel detectors cluster
68};
69
70#endif