]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveDet/AliEveTRDData.h
fix user histogram management and style (Ben)
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDData.h
index b05ccc4beffc24be0aede70725fb82b3073a3150..3f4bce6171203ffb1c1924594666af1108cc5993 100644 (file)
 // 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);
 
@@ -90,45 +65,137 @@ protected:
   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