// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
///////////////////////////////////////////////////////////////////////
-#ifndef ALIEVE_TRDData_H
-#define ALIEVE_TRDData_H
+#ifndef AliEveTRDData_H
+#define AliEveTRDData_H
#include <TEveQuadSet.h>
#include <TEveBoxSet.h>
#include <TEvePointSet.h>
+#include <TEveLine.h>
-#include <TGedFrame.h>
-
-
-#include "AliTRDdataArrayI.h"
+#ifndef ALITRDARRAYADC_H
+#include "AliTRDarrayADC.h"
+#endif
-class AliTRDdigitsManager;
class AliEveTRDChamber;
-
-
class AliEveTRDHits : public TEvePointSet
{
-private:
- AliEveTRDHits(const AliEveTRDHits&); // Not implemented
- AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
-
public:
- AliEveTRDHits(AliEveTRDChamber *p);
+ AliEveTRDHits();
+ ~AliEveTRDHits();
void PointSelected(Int_t n);
-protected:
- AliEveTRDChamber *fParent;
-
- ClassDef(AliEveTRDHits,1); // Base class for TRD hits visualisation
-};
-
-class AliEveTRDHitsEditor : public TGedFrame
-{
private:
- AliEveTRDHitsEditor(const AliEveTRDHitsEditor&); // Not implemented
- AliEveTRDHitsEditor& operator=(const AliEveTRDHitsEditor&); // Not implemented
-
-public:
- AliEveTRDHitsEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
- UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
- ~AliEveTRDHitsEditor();
-
- virtual void SetModel(TObject* obj);
-
-protected:
- AliEveTRDHits* fM;
+ AliEveTRDHits(const AliEveTRDHits&); // Not implemented
+ AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
- ClassDef(AliEveTRDHitsEditor,1); // Editor for AliEveTRDHits
+ ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation
};
+class AliTRDdigitsManager;
class AliEveTRDDigits : public TEveQuadSet
{
friend class AliEveTRDDigitsEditor;
-private:
- AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
- AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
-
public:
AliEveTRDDigits(AliEveTRDChamber *p);
+ ~AliEveTRDDigits();
void ComputeRepresentation();
- void Paint(Option_t *opt="");
+ const AliTRDarrayADC* GetData() const {return fData.HasData() ? &fData : NULL;}
+ //void Paint(Option_t *opt="");
void Reset();
void SetData(AliTRDdigitsManager *digits);
AliEveTRDChamber *fParent;
private:
- TEveBoxSet fBoxes;
- AliTRDdataArrayI fData;
+ TEveBoxSet fBoxes; // Boxset for didigit representation.
+ AliTRDarrayADC fData; // Raw-data array.
+
+ AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
+ AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
- ClassDef(AliEveTRDDigits,1); // Digits visualisation for TRD
+ ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
};
-class AliEveTRDDigitsEditor : public TGedFrame
+
+class AliEveTRDClusters : public AliEveTRDHits
{
+public:
+ AliEveTRDClusters();
+
+ void Load(Char_t *what="all", Bool_t stkwise=kTRUE) const; // *MENU*
+ void PointSelected(Int_t n);
+ void Print(Option_t *o = "") const; // *MENU*
+
private:
- AliEveTRDDigitsEditor(const AliEveTRDDigitsEditor&); // Not implemented
- AliEveTRDDigitsEditor& operator=(const AliEveTRDDigitsEditor&); // Not implemented
+ AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
+ AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
+
+ ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
+};
+
+
+class AliTRDseedV1;
+class AliEveTRDTracklet : public TEveLine
+{
public:
- AliEveTRDDigitsEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
- UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
- ~AliEveTRDDigitsEditor();
+ AliEveTRDTracklet(AliTRDseedV1 *trklt);
+ ~AliEveTRDTracklet();
+ AliEveTRDClusters* GetClusters() const {return fClusters;}
+ void Print(Option_t *o="") const; // *MENU*
- virtual void SetModel(TObject* obj);
+private:
+ AliEveTRDClusters *fClusters; // clusters
-protected:
- AliEveTRDDigits* fM;
+ AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented
+ AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
- ClassDef(AliEveTRDDigitsEditor,1); // Editor for AliEveTRDDigits
+ ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
};
-class AliEveTRDClusters : public AliEveTRDHits
+class AliTrackPoint;
+class AliTRDtrackV1;
+class AliRieman;
+class AliEveTRDTrack : public TEveLine
{
+public:
+ enum AliEveTRDTrackState{
+ kSource = 0
+ ,kPID = 1
+ ,kTrackCosmics = 2
+ ,kTrackModel = 3
+ };
+ enum AliEveTRDTrackModel{
+ kRieman = 0
+ ,kKalman = 1
+ };
+
+
+ AliEveTRDTrack(AliTRDtrackV1 *trk);
+ virtual ~AliEveTRDTrack();
+ //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : NULL;}
+ void Print(Option_t *opt="a") const; // *MENU*
+ void SetStatus(UChar_t s=0); // *MENU*
+ void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
private:
- AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
- AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
+ AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented
+ AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
+
+ UChar_t fTrackState; // bit map for the track drawing state
+ ULong_t fESDStatus; // ESD status bit for this track
+ Float_t fAlpha; // sector angle for this track
+ AliTrackPoint *fPoints; // track crossing points
+ AliRieman *fRim; // rieman fitter
+ ClassDef(AliEveTRDTrack, 0); // TRD track visualisation
+};
+
+
+#include "TEveElement.h"
+class AliTRDtrackletMCM;
+class AliTRDtrackletWord;
+class AliEveTRDTrackletOnline : public TEveLine
+{
public:
- AliEveTRDClusters(AliEveTRDChamber *p);
+ AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet);
+ AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet);
+ ~AliEveTRDTrackletOnline();
- void PointSelected(Int_t n);
+// void Print(Option_t *o="") const; // *MENU*
+ void ShowMCM(Option_t *opt = "RHT") const; // *MENU*
+private:
+ Int_t fDetector;
+ Int_t fROB;
+ Int_t fMCM;
+
+ AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&); // Not implemented
+ AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&); // Not implemented
+
+ ClassDef(AliEveTRDTrackletOnline, 0); // TRD tracklet visualisation
+};
+
+
+class AliTRDmcmSim;
+class AliEveTRDmcm : public TEveElement, public TNamed
+{
+ public:
+ AliEveTRDmcm();
+ ~AliEveTRDmcm();
+
+ Bool_t Init(Int_t det, Int_t rob, Int_t mcm); // *MENU*
+ Bool_t LoadDigits(); // *MENU*
+ Bool_t Filter(); // *MENU*
+ Bool_t Tracklet(); // *MENU*
+ void Draw(Option_t* option = "FHT"); // *MENU*
+ Bool_t AssignPointer(const char* ptrname = "mcmtest"); // *MENU*
+
+ protected:
+ AliTRDmcmSim *fMCM;
+
+ AliEveTRDmcm(const AliEveTRDmcm&); // not implemented
+ AliEveTRDmcm& operator=(const AliEveTRDmcm&); // not implemented
- ClassDef(AliEveTRDClusters,1); // Base class for TRD clusters visualisation
+ ClassDef(AliEveTRDmcm, 0);
};
#endif