#ifndef AliEveTRDData_H
#define AliEveTRDData_H
#include <TEveQuadSet.h>
#include <TEveBoxSet.h>
#include <TEvePointSet.h>
#include <TEveLine.h>
#ifndef ALITRDARRAYADC_H
#include "AliTRDarrayADC.h"
#endif
class AliEveTRDChamber;
class AliEveTRDHits : public TEvePointSet
{
public:
AliEveTRDHits();
~AliEveTRDHits();
void PointSelected(Int_t n);
private:
AliEveTRDHits(const AliEveTRDHits&);
AliEveTRDHits& operator=(const AliEveTRDHits&);
ClassDef(AliEveTRDHits, 0);
};
class AliTRDdigitsManager;
class AliEveTRDDigits : public TEveQuadSet
{
public:
AliEveTRDDigits(AliEveTRDChamber *p);
~AliEveTRDDigits();
void SetData(AliTRDdigitsManager *digits);
protected:
AliEveTRDChamber *fParent;
private:
AliEveTRDDigits(const AliEveTRDDigits&);
AliEveTRDDigits& operator=(const AliEveTRDDigits&);
ClassDef(AliEveTRDDigits, 0);
};
class AliEveTRDClusters : public AliEveTRDHits
{
public:
AliEveTRDClusters();
void Load(const Char_t *what="all") const;
void PointSelected(Int_t n);
void Print(Option_t *o = "") const;
private:
AliEveTRDClusters(const AliEveTRDClusters&);
AliEveTRDClusters& operator=(const AliEveTRDClusters&);
ClassDef(AliEveTRDClusters, 0);
};
class AliTRDseedV1;
class AliEveTRDTracklet : public TEveLine
{
public:
AliEveTRDTracklet(AliTRDseedV1 *trklt);
~AliEveTRDTracklet();
AliEveTRDClusters* GetClusters() const {return fClusters;}
inline void Load(const Char_t *what="all") const;
void Print(Option_t *o="") const;
private:
AliEveTRDClusters *fClusters;
AliEveTRDTracklet(const AliEveTRDTracklet&);
AliEveTRDTracklet& operator=(const AliEveTRDTracklet&);
ClassDef(AliEveTRDTracklet, 0);
};
void AliEveTRDTracklet::Load(const Char_t *what) const
{
if(fClusters) fClusters->Load(what);
}
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();
void Print(Option_t *opt="a") const;
void Load(const Char_t *what="all") const;
void SetStatus(UChar_t s=0);
void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
private:
AliEveTRDTrack(const AliEveTRDTrack&);
AliEveTRDTrack& operator=(const AliEveTRDTrack&);
UChar_t fTrackState;
ULong_t fESDStatus;
Float_t fAlpha;
AliTrackPoint *fPoints;
AliRieman *fRim;
ClassDef(AliEveTRDTrack, 0);
};
#include "TEveElement.h"
class AliTRDtrackletMCM;
class AliTRDtrackletWord;
class AliEveTRDTrackletOnline : public TEveLine
{
public:
AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet);
AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet);
~AliEveTRDTrackletOnline();
void ShowMCM(Option_t *opt = "RHT") const;
private:
Int_t fDetector;
Int_t fROB;
Int_t fMCM;
AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&);
AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&);
ClassDef(AliEveTRDTrackletOnline, 0);
};
class AliTRDmcmSim;
class AliEveTRDmcm : public TEveElement, public TNamed
{
public:
AliEveTRDmcm();
~AliEveTRDmcm();
Bool_t Init(Int_t det, Int_t rob, Int_t mcm);
Bool_t LoadDigits();
Bool_t Filter();
Bool_t Tracklet();
void Draw(Option_t* option = "FHT");
Bool_t AssignPointer(const char* ptrname = "mcmtest");
protected:
AliTRDmcmSim *fMCM;
AliEveTRDmcm(const AliEveTRDmcm&);
AliEveTRDmcm& operator=(const AliEveTRDmcm&);
ClassDef(AliEveTRDmcm, 0);
};
#endif