/**************************************************************************/
-void Event::Init()
-{
- fRunLoader = 0;
- fESDFile = 0;
- fESDTree = 0;
- fESD = 0;
- fESDfriendFile = 0;
- fESDfriendTree = 0;
- fESDfriend = 0;
-}
-
Event::Event() :
- EventBase(), fEventId(0)
-{
- Init();
-}
+ EventBase(),
+
+ fPath (), fEventId (0),
+ fRunLoader (0),
+ fESDFile (0), fESDTree (0), fESD (0),
+ fESDfriendFile (0), fESDfriendTree (0), fESDfriend (0)
+{}
Event::Event(TString path, Int_t ev) :
EventBase("AliEVE Event"),
- fPath(path), fEventId(ev)
+
+ fPath (path), fEventId(ev),
+ fRunLoader (0),
+ fESDFile (0), fESDTree (0), fESD (0),
+ fESDfriendFile (0), fESDfriendTree (0), fESDfriend (0)
{
- Init();
Open();
}
class Event : public Reve::EventBase
{
private:
- void Init();
+ Event(const Event&); // Not implemented
+ Event& operator=(const Event&); // Not implemented
protected:
TString fPath;
/**************************************************************************/
-void ITSDigitsInfo::Init()
-{
- fTree = 0;
- fGeom = 0;
- fSegSPD = 0;
- fSegSDD = 0;
- fSegSSD = 0;
-}
+ITSDigitsInfo::ITSDigitsInfo() :
+ TObject(),
+ fRefCount(0),
+ fSPDmap(), fSDDmap(), fSSDmap(),
+ fTree (0),
+ fGeom (0),
+ fSegSPD(0), fSegSDD(0), fSegSSD(0)
+{}
/**************************************************************************/
class ITSDigitsInfo : public TObject
{
+ ITSDigitsInfo(const ITSDigitsInfo&); // Not implemented
+ ITSDigitsInfo& operator=(const ITSDigitsInfo&); // Not implemented
+
private:
- void Init();
Float_t fSPDZCoord[192];
protected:
Int_t fSDDScaleZ[NSCALE];
Int_t fSSDScale[NSCALE];
- ITSDigitsInfo(const Text_t* /*n*/="ITSDigitsInfo", const Text_t* /*t*/=0) :
- TObject()
- { Init(); }
-
+ ITSDigitsInfo();
virtual ~ITSDigitsInfo();
void SetTree(TTree* tree);
void GetSPDLocalZ(Int_t j, Float_t& z);
-
void IncRefCount() { ++fRefCount; }
void DecRefCount() { --fRefCount; if(fRefCount <= 0) delete this; }
ITSModule::ITSModule(const Text_t* n, const Text_t* t, Color_t col) :
Reve::RenderElement(fFrameColor),
QuadSet(n, t),
- fInfo (0),
- fDetID (-1),
+ fInfo(0),
+ fID(-1), fDetID(-1),
+ fLayer(-1), fLadder(-1), fDet(-1),
+ fDx(0), fDz(0), fDy(0),
fFrameColor(col)
{}
Reve::RenderElement(fFrameColor),
QuadSet(Form("ITS module %d", id)),
fInfo (0),
- fDetID (-1),
+ fID(-1), fDetID(-1),
+ fLayer(-1), fLadder(-1), fDet(-1),
+ fDx(0), fDz(0), fDy(0),
fFrameColor(col)
{
SetDigitsInfo(info);
class ITSModule : public Reve::RenderElement,
public Reve::QuadSet
{
+ ITSModule(const ITSModule&); // Not implemented
+ ITSModule& operator=(const ITSModule&); // Not implemented
+
private:
void LoadQuads();
ClassImp(MUONDigitsInfo)
-/**************************************************************************/
-MUONDigitsInfo:: ~MUONDigitsInfo()
-{
-
-}
-
-/**************************************************************************/
-void MUONDigitsInfo::Init()
-{
-
- fDTree = 0;
- fRTree = 0;
- fTTree = 0;
-
- //CreateColors();
-
-}
-
/**************************************************************************/
void MUONDigitsInfo::SetDTree(TTree* tree)
{
class MUONDigitsInfo : public TObject
{
+ MUONDigitsInfo(const MUONDigitsInfo&); // Not implemented
+ MUONDigitsInfo& operator=(const MUONDigitsInfo&); // Not implemented
public:
- MUONDigitsInfo(const Text_t* /*n*/="MUONDigitsInfo", const Text_t* /*t*/=0) :
- TObject()
- { Init(); }
-
- virtual ~MUONDigitsInfo();
+ MUONDigitsInfo() : TObject(), fDTree(0), fRTree(0), fTTree(0) {}
+ virtual ~MUONDigitsInfo() {}
void SetDTree(TTree* tree);
void SetRTree(TTree* tree);
private:
- void Init();
void CreateColors();
protected:
ClassImp(MUONModule)
-/**************************************************************************/
-MUONModule:: ~MUONModule()
-{
-
-}
-
-/**************************************************************************/
-void MUONModule::Init()
-{
-
- fInfo = 0;
- fID = -1;
-
-}
-
/**************************************************************************/
MUONModule::MUONModule(const Text_t* n, const Text_t* t, Color_t col) :
Reve::RenderElement(fFrameCol),
QuadSet(n, t),
- fFrameCol(col)
-{
- Init();
-}
+ fInfo(0),
+ fID(-1), fCath(0),
+ fShowDigits(0), fShowClusters(0), fShowTracks(0),
+ fFrameCol(col),
+ fDetElemId(-1)
+{}
MUONModule::MUONModule(Int_t id, Int_t cath, MUONDigitsInfo* info, Bool_t dig, Bool_t clus, Color_t col ) :
Reve::RenderElement(fFrameCol),
QuadSet(Form("M-DetElemId %d C%1d",id,cath)),
- fFrameCol(col)
+ fInfo(info),
+ fID(-1), fCath(0),
+ fShowDigits(dig), fShowClusters(clus), fShowTracks(0),
+ fFrameCol(col),
+ fDetElemId(-1)
{
- Init();
-
- fInfo = info;
-
- fShowDigits = dig;
- fShowClusters = clus;
-
if (!fShowDigits && !fShowClusters) fShowTracks = 1;
if (fShowClusters) SetName(Form("M-DetElemId %d",id));
class MUONModule : public Reve::RenderElement,
public Reve::QuadSet
{
+ MUONModule(const MUONModule&); // Not implemented
+ MUONModule& operator=(const MUONModule&); // Not implemented
public:
MUONModule(const Text_t* n="MUONModule", const Text_t* t=0, Color_t col=2);
MUONModule(Int_t id, Int_t cath, MUONDigitsInfo* info, Bool_t dig, Bool_t clus, Color_t col=2);
- virtual ~MUONModule();
+ virtual ~MUONModule() {}
virtual void SetID(Int_t id, Int_t cath);
private:
- void Init();
void LoadQuadsChambers(Int_t chamber1, Int_t chamber2, Int_t delElemId = -1, Int_t cat = -1);
void LoadQuadsDigits();
void LoadQuadsClusters();
TPCLoader::TPCLoader(const Text_t* n, const Text_t* t) :
RenderElementList(n, t),
+ fFile(),
fEvent(-1),
fDoubleSR(kFALSE),
fSec2Ds(36),
fSec3Ds(36),
- fSetInitSectorParams(kFALSE)
+ fSetInitSectorParams(kFALSE),
+ fInitMinTime(0), fInitMaxTime(460), fInitThreshold(5)
{}
TPCLoader::~TPCLoader()
{
friend class TPCLoaderEditor;
+ TPCLoader(const TPCLoader&); // Not implemented
+ TPCLoader& operator=(const TPCLoader&); // Not implemented
+
protected:
TString fFile;
Int_t fEvent;
ClassImp(TPCLoaderEditor)
-TPCLoaderEditor::TPCLoaderEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
+TPCLoaderEditor::TPCLoaderEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+
+ fM (0),
+
+ fFile (0),
+ fOpenFile (0),
+
+ fEvent (0),
+ fDoubleSR (0),
+
+ fUpdateSectors (0),
+ fCreateSectors3D (0),
+ fDeleteSectors3D (0)
{
- fM = 0;
MakeTitle("TPCLoader");
Int_t labelW = 42;
class TPCLoaderEditor : public TGedFrame
{
+ TPCLoaderEditor(const TPCLoaderEditor&); // Not implemented
+ TPCLoaderEditor& operator=(const TPCLoaderEditor&); // Not implemented
+
protected:
TPCLoader* fM; // fModel dynamic-casted to TPCLoaderEditor
ClassImp(TPCSector2DEditor)
-TPCSector2DEditor::TPCSector2DEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
+TPCSector2DEditor::TPCSector2DEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+ fM(0),
+ fShowMax(0), fAverage(0), fUseTexture(0)
{
- fM = 0;
MakeTitle("TPCSector2D");
fUseTexture = new TGCheckButton(this, "UseTexture");
class TPCSector2DEditor : public TGedFrame
{
+ TPCSector2DEditor(const TPCSector2DEditor&); // Not implemented
+ TPCSector2DEditor& operator=(const TPCSector2DEditor&); // Not implemented
+
protected:
TPCSector2D* fM; // fModel dynamic-casted to TPCSector2DEditor
/**************************************************************************/
-TPCSector2DGL::TPCSector2DGL() : TGLObject()
-{
- fSector = 0;
- fSectorData = 0;
-
- fImage = 0;
- fTexture = 0;
- fRTS = 0;
-}
+TPCSector2DGL::TPCSector2DGL() :
+ TGLObject(),
+
+ fSector (0),
+ fSectorData (0),
+
+ fImage (0),
+ fTexture (0),
+ fRTS (0)
+{}
TPCSector2DGL::~TPCSector2DGL()
{
class TPCSector2DGL : public TGLObject
{
+ TPCSector2DGL(const TPCSector2DGL&); // Not implemented
+ TPCSector2DGL& operator=(const TPCSector2DGL&); // Not implemented
+
protected:
virtual void DirectDraw(const TGLDrawFlags & flags) const;
fPointFrac (0.25),
fPointSize (3),
+ fPointSetOn (0),
+ fPointSetMaxVal (0),
+
fDriftVel (1),
fZStep (250.0/450)
{
ClassImp(TPCSector3DEditor)
-TPCSector3DEditor::TPCSector3DEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
+TPCSector3DEditor::TPCSector3DEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+ fM(0),
+ fRnrFrame(0), fDriftVel(0), fPointFrac(0), fPointSize(0)
{
- fM = 0;
MakeTitle("TPCSector3D");
Int_t labelW = 60;
class TPCSector3DEditor : public TGedFrame
{
+ TPCSector3DEditor(const TPCSector3DEditor&); // Not implemented
+ TPCSector3DEditor& operator=(const TPCSector3DEditor&); // Not implemented
+
protected:
TPCSector3D* fM; // fModel dynamic-casted to TPCSector3DEditor
ClassImp(TPCSector3DGL)
-TPCSector3DGL::TPCSector3DGL() : fSector(0), fBoxRnr(0)
+TPCSector3DGL::TPCSector3DGL() :
+ TGLObject(),
+ fSector(0), fBoxRnr(0),
+ fRTS(0)
{
// fCached = false; // Disable display list.
- fRTS = 0;
}
TPCSector3DGL::~TPCSector3DGL()
class TPCSector3DGL : public TGLObject
{
+ TPCSector3DGL(const TPCSector3DGL&); // Not implemented
+ TPCSector3DGL& operator=(const TPCSector3DGL&); // Not implemented
+
protected:
TPCSector3D* fSector; // fModel dynamic-casted to TPCSector3DGL
Reve::BoxSetGL* fBoxRnr;
/**************************************************************************/
TPCSectorData::TPCSectorData(Int_t sector, Int_t bsize) :
- fSectorID(sector), fNPadsFilled(0),
- fBlockSize(bsize), fBlockPos(0),
- fCurrentRow(0), fCurrentPad(0), fCurrentPos(0),
+ fSectorID(sector), fNPadsFilled(0), fPads(),
+ fBlockSize(bsize), fBlockPos(0), fBlocks(),
+ fCurrentRow(0), fCurrentPad(0), fCurrentPos(0), fCurrentStep(0),
fPadRowHackSet(0)
{
if(fgParam == 0) InitStatics();
ClassImp(TPCSectorData::SegmentInfo)
-TPCSectorData::SegmentInfo::SegmentInfo()
+TPCSectorData::SegmentInfo::SegmentInfo() :
+ TObject(),
+
+ fPadWidth(0), fPadHeight(0),
+ fRLow(0), fNRows(0), fFirstRow(0), fLastRow(0),
+ fNMaxPads(0),
+ fNYSteps(0)
{
- memset(this, sizeof(SegmentInfo), 0);
+ memset(fYStep, sizeof(fYStep), 0);
}
/**************************************************************************/
class TPCSectorData : public TObject
{
+ TPCSectorData(const TPCSectorData&); // Not implemented
+ TPCSectorData& operator=(const TPCSectorData&); // Not implemented
+
public:
class PadData
fBeg(pd.Data()), fEnd(pd.Data() + pd.Length()), fPos(pd.Data()),
fTime(-1), fSignal(-1), fThreshold(thr), fNChunk(0)
{}
+ PadIterator(const PadIterator& i) :
+ fBeg(i.fBeg), fEnd(i.fEnd), fPos(i.fPos),
+ fTime(i.fTime), fSignal(i.fSignal), fThreshold(i.fThreshold), fNChunk(i.fNChunk)
+ {}
+ virtual ~PadIterator() {}
+
+ PadIterator& operator=(const PadIterator& i) {
+ fBeg = i.fBeg; fEnd = i.fEnd; fPos = i.fPos;
+ fTime = i.fTime; fSignal = i.fSignal; fThreshold = i.fThreshold; fNChunk = i.fNChunk;
+ return *this;
+ }
Bool_t Next();
void Reset();
fPadArray(first), fNPads(npads),
fPad(-1)
{}
+ RowIterator(const RowIterator& i) :
+ PadIterator(i),
+ fPadArray(i.fPadArray), fNPads(i.fNPads), fPad(i.fPad)
+ {}
+
+ RowIterator& operator=(const RowIterator& i) {
+ fPadArray = i.fPadArray; fNPads = i.fNPads; fPad = i.fPad;
+ return *this;
+ }
Bool_t NextPad();
void ResetRow();
friend class TPCSector3DEditor;
friend class TPCSector3DGL;
+ TPCSectorViz(const TPCSectorViz&); // Not implemented
+ TPCSectorViz& operator=(const TPCSectorViz&); // Not implemented
+
protected:
TPCData* fTPCData;
Int_t fSectorID;
ClassImp(TPCSectorVizEditor)
-TPCSectorVizEditor::TPCSectorVizEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
- UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+TPCSectorVizEditor::TPCSectorVizEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
+ UInt_t options, Pixel_t back) :
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+ fM(0),
+ fSectorID (0), fTrans (0),
+ fRnrInn (0), fRnrOut1 (0), fRnrOut2(0),
+ fThreshold (0), fMaxVal (0),
+ fTime (0)
{
- fM = 0;
MakeTitle("TPCSectorViz");
Int_t labelW = 60;
class TPCSectorVizEditor : public TGedFrame
{
+ TPCSectorVizEditor(const TPCSectorVizEditor&); // Not implemented
+ TPCSectorVizEditor& operator=(const TPCSectorVizEditor&); // Not implemented
+
protected:
TPCSectorViz* fM; // fModel dynamic-casted to TPCSectorVizEditor
TGCheckButton* fRnrOut2;
Reve::RGValuator* fThreshold;
- Reve::RGValuator* fMaxVal;
+ Reve::RGValuator* fMaxVal;
Reve::RGDoubleValuator* fTime;
ClassImp(VSDCreator)
-void VSDCreator::init()
-{
- mKineType = KT_Standard;
- mDataDir = ".";
+VSDCreator::VSDCreator(const Text_t* name, const Text_t* title) :
+ VSD(name, title),
+
+ mKineType (KT_Standard),
+ mDataDir ("."),
+ mEvent (0),
- mTPCHitRes = 2;
- mTRDHitRes = 2;
+ mTPCHitRes (2),
+ mTRDHitRes (2),
- pRunLoader = 0;
+ mDebugLevel (0),
+ mGenInfoMap (),
+ pRunLoader (0)
+{
// Particles not in ROOT's PDG database occuring in ALICE
AliPDG::AddParticlesToPdgDataBase();
{
// AliKalmanTrack::SetConvConst(1);
}
-VSDCreator::VSDCreator()
-{
- init();
-}
-
-VSDCreator::VSDCreator(const Text_t* name, const Text_t* title) :
- VSD(name, title)
-{
- init();
-}
-
/**************************************************************************/
void VSDCreator::CreateVSD(const Text_t* data_dir, Int_t event,
class VSDCreator : public Reve::VSD
{
+ VSDCreator(const VSDCreator&); // Not implemented
+ VSDCreator& operator=(const VSDCreator&); // Not implemented
+
public:
enum KineType_e { KT_Standard, KT_ProtonProton };
TString mDataDir; // X{G}
Int_t mEvent; // X{G}
- Float_t mTRDHitRes; // X{gs}
Float_t mTPCHitRes; // X{gs}
+ Float_t mTRDHitRes; // X{gs}
Int_t mDebugLevel;
std::map<Int_t, Reve::GenInfo*> mGenInfoMap; //!
- void init();
-
public:
- VSDCreator();
- VSDCreator(const Text_t* name, const Text_t* title="");
+ VSDCreator(const Text_t* name="Alieve::VSDCreator", const Text_t* title="");
virtual ~VSDCreator() {}
void CreateVSD(const Text_t* data_dir, Int_t event,
{
friend class GeoNodeRnrElEditor;
+ GeoNodeRnrEl(const GeoNodeRnrEl&); // Not implemented
+ GeoNodeRnrEl& operator=(const GeoNodeRnrEl&); // Not implemented
+
protected:
TGeoNode *fNode;
class GeoTopNodeRnrEl : public GeoNodeRnrEl
{
+ GeoTopNodeRnrEl(const GeoTopNodeRnrEl&); // Not implemented
+ GeoTopNodeRnrEl& operator=(const GeoTopNodeRnrEl&); // Not implemented
+
protected:
TGeoManager* fManager;
TGeoHMatrix* fGlobalTrans;
Vector V, P;
Type_e type;
- PathMark(Type_e t=Reference) : type(t) {}
+ PathMark(Type_e t=Reference) : V(), P(), type(t) {}
virtual ~PathMark() {}
ClassDef(PathMark, 1);
Vector V_decay; // Decay vertex
Vector P_decay; // Decay momentum
- MCTrack() { decayed = false; }
+ MCTrack() : label(0), eva_label(0),
+ decayed(false), t_decay(0), V_decay(), P_decay() {}
virtual ~MCTrack() {}
MCTrack& operator=(const TParticle& p)
Float_t length;
Float_t time;
- MCTrackRef() {}
+ MCTrackRef() : label(0), status(0), V(), P(), length(0), time(0) {}
virtual ~MCTrackRef() {}
ClassDef(MCTrackRef, 1)
// ?? Float_t charge. Probably specific.
- Hit() {}
+ Hit() : det_id(0), subdet_id(0), label(0), eva_label(0), V() {}
virtual ~Hit() {}
ClassDef(Hit, 1);
// Vector W; // Cluster widths
// ?? Coord system? Special variables Wz, Wy?
- Cluster() {}
+ Cluster() : det_id(0), subdet_id(0), V() { label[0] = label[1] = label [2] = 0; }
virtual ~Cluster() {}
ClassDef(Cluster, 1);
// PID data missing
- RecTrack() {}
+ RecTrack() : label(0), status(0), sign(0), V(), P(), beta(0) {}
virtual ~RecTrack() {}
Float_t Pt() { return P.Perp(); }
Vector V_kink; // Kink vertex: reconstructed position of the kink
Vector P_sec; // Momentum of secondary track
- RecKink() : RecTrack() {}
+ RecKink() : RecTrack(), label_sec(0), V_end(), V_kink(), P_sec() {}
virtual ~RecKink() {}
ClassDef(RecKink, 1);
Int_t pdg; // PDG code of mother
Int_t d_label[2]; // Daughter labels ?? Rec labels present anyway.
- RecV0() {}
+ RecV0() : status(), V_neg(), P_neg(), V_pos(), P_pos(),
+ V_ca(), V0_birth(), label(0), pdg(0)
+ { d_label[0] = d_label[1] = 0; }
virtual ~RecV0() {}
ClassDef(RecV0, 1);
Int_t n_hits;
Int_t n_clus;
- GenInfo() { is_rec = has_V0 = has_kink = false; }
+ GenInfo() : is_rec(false), has_V0(false), has_kink(false),
+ label(0), n_hits(0), n_clus(0) {}
virtual ~GenInfo() {}
ClassDef(GenInfo, 1);
PointSet::PointSet(Int_t n_points, TreeVarType_e tv_type) :
RenderElement(fMarkerColor),
TPointSet3D(n_points),
- TPointSelectorConsumer(tv_type)
+ TPointSelectorConsumer(tv_type),
+
+ fTitle()
{
fMarkerStyle = 20;
}
PointSet::PointSet(const Text_t* name, Int_t n_points, TreeVarType_e tv_type) :
RenderElement(fMarkerColor),
TPointSet3D(n_points),
- TPointSelectorConsumer(tv_type)
+ TPointSelectorConsumer(tv_type),
+
+ fTitle()
{
fMarkerStyle = 20;
SetName(name);
PointSet::PointSet(const Text_t* name, TTree* tree, TreeVarType_e tv_type) :
RenderElement(fMarkerColor),
TPointSet3D(tree->GetSelectedRows()),
- TPointSelectorConsumer(tv_type)
+ TPointSelectorConsumer(tv_type),
+
+ fTitle()
{
static const Exc_t eH("PointSet::PointSet ");
const Text_t* title) :
RenderElementListBase(fMarkerColor),
TNamed(name, title),
- fBins(0), fDefPointSetCapacity(128), fNBins(0)
+
+ fBins(0), fDefPointSetCapacity(128), fNBins(0),
+ fMin(0), fCurMin(0), fMax(0), fCurMax(0),
+ fBinWidth(0),
+ fQuantName()
{}
PointSetArray::~PointSetArray()
public TPointSelectorConsumer
{
friend class PointSetArray;
-private:
- void Init();
protected:
TString fTitle;
{
friend class PointSetArrayEditor;
+ PointSetArray(const PointSetArray&); // Not implemented
+ PointSetArray& operator=(const PointSetArray&); // Not implemented
+
protected:
PointSet** fBins;
Int_t fDefPointSetCapacity;
PointSetArrayEditor::PointSetArrayEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+ fM(0),
+ fRange(0)
{
fM = 0;
MakeTitle("PointSetArray");
class PointSetArrayEditor : public TGedFrame
{
+ PointSetArrayEditor(const PointSetArrayEditor&); // Not implemented
+ PointSetArrayEditor& operator=(const PointSetArrayEditor&); // Not implemented
+
protected:
PointSetArray* fM; // fModel dynamic-casted to PointSetArrayEditor
}
}
-Quad::Quad(TRandom& rnd, Float_t origin, Float_t size)
+Quad::Quad(TRandom& rnd, Float_t origin, Float_t size) : color(0)
{
ColorFromIdx(Int_t(30*rnd.Rndm()));
Float_t x = 2*origin*(rnd.Rndm() - 0.5);
QuadSet::QuadSet(const Text_t* n, const Text_t* t) :
TNamed(n, t),
+ fQuads(),
fTrans(false)
{}
void ColorFromIdx(Color_t ci);
- Quad(Color_t col = 1)
+ Quad(Color_t col = 1) : color(0)
{ ColorFromIdx(col); }
- Quad(Color_t col, Float_t* p)
+ Quad(Color_t col, Float_t* p) : color(0)
{ ColorFromIdx(col); memcpy(vertices, p, 12*sizeof(Float_t)); }
Quad(TRandom& rnd, Float_t origin, Float_t size);
- Quad(const Quad& org) { memcpy(this, &org, sizeof(Quad)); }
+ Quad(const Quad& org) : color(0) { memcpy(this, &org, sizeof(Quad)); }
virtual ~Quad() {}
/**************************************************************************/
+RGTopFrame::RGTopFrame(const TGWindow *p, UInt_t w, UInt_t h, LookType_e look) :
+ TGMainFrame(p, w, h),
-void RGTopFrame::Init()
-{
- gReve = this;
+ fCC (0),
+ fHistoCanvas (0),
+ fSelector (0),
+ fBrowser (0),
+ fStatusBar (0),
+ fVSDFile (""),
+
+ fMacroFolder(0),
+ fEditor (0),
+
+ fCurrentEvent (0),
+ fGlobalStore (0),
- fCC = 0;
- fHistoCanvas = 0;
- fSelector = 0;
- fBrowser = 0;
- fStatusBar = 0;
- fVSDFile = "";
+ fRedrawDisabled (0),
+ fResetCameras (kFALSE),
+ fTimerActive (kFALSE),
+ fRedrawTimer (),
+ fLook (LT_Editor),
+ fGeometries ()
+{
+ gReve = this;
+ fRedrawTimer.Connect("Timeout()", "Reve::RGTopFrame", this, "DoRedraw3D()");
fMacroFolder = new TFolder("EVE", "Visualization macros");
gROOT->GetListOfBrowsables()->Add(fMacroFolder);
fClient->GetMimeTypeList()->AddType("root/tmacro", "Reve::RMacro",
"tmacro_s.xpm", "tmacro_t.xpm", "");
- fEditor = 0;
+ // Build GUI
- fCurrentEvent = 0;
- fGlobalStore = 0;
-
- fRedrawDisabled = 0;
- fResetCameras = kFALSE;
- fTimerActive = kFALSE;
- fRedrawTimer.Connect("Timeout()", "Reve::RGTopFrame", this, "DoRedraw3D()");
-}
-
-
-RGTopFrame::RGTopFrame(const TGWindow *p, UInt_t w, UInt_t h, LookType_e look)
- : TGMainFrame(p, w, h)
-{
- Init();
TGLayoutHints *fL0 = new TGLayoutHints(kLHintsCenterX |kLHintsCenterY | kLHintsExpandY| kLHintsExpandX);
TGLayoutHints *fL1 = new TGLayoutHints(kLHintsCenterX |kLHintsCenterY | kLHintsExpandY| kLHintsExpandX,2,0,2,2);
TGLayoutHints* fL2 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY,
class RGTopFrame : public TGMainFrame
{
+ RGTopFrame(const RGTopFrame&); // Not implemented
+ RGTopFrame& operator=(const RGTopFrame&); // Not implemented
+
public:
enum LookType_e { LT_Classic, LT_Editor, LT_GLViewer };
private:
- void Init();
TCanvas *fCC;
TCanvas *fHistoCanvas;
VSDSelector *fSelector;
class RGValuatorBase: public TGCompositeFrame
{
+ RGValuatorBase(const RGValuatorBase&); // Not implemented
+ RGValuatorBase& operator=(const RGValuatorBase&); // Not implemented
+
protected:
UInt_t fLabelWidth;
Bool_t fAlignRight;
class RGValuator: public RGValuatorBase
{
+ RGValuator(const RGValuator&); // Not implemented
+ RGValuator& operator=(const RGValuator&); // Not implemented
+
protected:
Float_t fValue;
Float_t fMin;
class RGDoubleValuator: public RGValuatorBase
{
+ RGDoubleValuator(const RGDoubleValuator&); // Not implemented
+ RGDoubleValuator& operator=(const RGDoubleValuator&); // Not implemented
+
protected:
TGNumberEntry* fMinEntry;
TGNumberEntry* fMaxEntry;
ClassImp(GeoNodeRnrElEditor)
-GeoNodeRnrElEditor::GeoNodeRnrElEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
- UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+GeoNodeRnrElEditor::GeoNodeRnrElEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
+ UInt_t options, Pixel_t back) :
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+
+ fNodeRE (0),
+
+ fVizNode(0),
+ fVizNodeDaughters(0),
+ fVizVolume(0),
+ fVizVolumeDaughters(0),
+
+ fTransparency(0)
{
- fNodeRE = 0;
MakeTitle("GeoNode");
// --- Visibility control
ClassImp(GeoTopNodeRnrElEditor)
-GeoTopNodeRnrElEditor::GeoTopNodeRnrElEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
+GeoTopNodeRnrElEditor::GeoTopNodeRnrElEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+
+ fTopNodeRE (0),
+ fVisOption (0),
+ fVisLevel (0)
{
- fTopNodeRE = 0;
MakeTitle("GeoTopNode");
{
class GeoNodeRnrElEditor : public TGedFrame
{
+ GeoNodeRnrElEditor(const GeoNodeRnrElEditor&); // Not implemented
+ GeoNodeRnrElEditor& operator=(const GeoNodeRnrElEditor&); // Not implemented
+
protected:
GeoNodeRnrEl* fNodeRE;
class GeoTopNodeRnrElEditor : public TGedFrame
{
+ GeoTopNodeRnrElEditor(const GeoTopNodeRnrElEditor&); // Not implemented
+ GeoTopNodeRnrElEditor& operator=(const GeoTopNodeRnrElEditor&); // Not implemented
+
protected:
GeoTopNodeRnrEl* fTopNodeRE;
RenderElement::RenderElement() :
fRnrElement (kTRUE),
fMainColorPtr (0),
+ fItems (),
+ fParents (),
fDestroyOnZeroRefCnt (kTRUE),
fDenyDestroy (kFALSE)
{}
RenderElement::RenderElement(Color_t& main_color) :
fRnrElement (kTRUE),
fMainColorPtr (&main_color),
+ fItems (),
+ fParents (),
fDestroyOnZeroRefCnt (kTRUE),
fDenyDestroy (kFALSE)
{}
{
friend class RGTopFrame;
+ RenderElement(const RenderElement&); // Not implemented
+ RenderElement& operator=(const RenderElement&); // Not implemented
+
public:
- struct ListTreeInfo {
+ class ListTreeInfo
+ {
+ public:
TGListTree* fTree;
TGListTreeItem* fItem;
- ListTreeInfo() {}
+ ListTreeInfo() : fTree(0), fItem(0) {}
ListTreeInfo(TGListTree* lt, TGListTreeItem* lti) : fTree(lt), fItem(lti) {}
+ ListTreeInfo(const ListTreeInfo& l) : fTree(l.fTree), fItem(l.fItem) {}
virtual ~ListTreeInfo() {}
+ ListTreeInfo& operator=(const ListTreeInfo& l)
+ { fTree = l.fTree; fItem = l.fItem; return *this; }
+
bool operator==(const ListTreeInfo& x) const
{ return fTree == x.fTree && fItem == x.fItem; }
bool operator<(const ListTreeInfo& x) const
class RenderElementObjPtr : public RenderElement,
public TObject
{
+ RenderElementObjPtr(const RenderElementObjPtr&); // Not implemented
+ RenderElementObjPtr& operator=(const RenderElementObjPtr&); // Not implemented
+
protected:
TObject* fObject;
Bool_t fOwnObject;
void PaintElements(Option_t* option="");
public:
- RenderElementListBase() {}
- RenderElementListBase(Color_t& col) : RenderElement(col) {}
+ RenderElementListBase() : RenderElement(), fChildren() {}
+ RenderElementListBase(Color_t& col) : RenderElement(col), fChildren() {}
virtual ~RenderElementListBase();
virtual void AddElement(RenderElement* el);
ClassImp(RenderElementEditor)
-RenderElementEditor::RenderElementEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
- UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+RenderElementEditor::RenderElementEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
+ UInt_t options, Pixel_t back) :
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+
+ fRE (0),
+ fHFrame (0),
+ fRnrElement (0),
+ fMainColor (0)
{
- fRE = 0;
MakeTitle("RenderElement");
fHFrame = new TGHorizontalFrame(this);
class RenderElementEditor : public TGedFrame
{
+ RenderElementEditor(const RenderElementEditor&); // Not implemented
+ RenderElementEditor& operator=(const RenderElementEditor&); // Not implemented
+
protected:
RenderElement* fRE; // fModel dynamic-casted to RenderElementEditor
{
private:
TGeoManager* fManager;
+
+ GeoManagerHolder(const GeoManagerHolder&); // Not implemented
+ GeoManagerHolder& operator=(const GeoManagerHolder&); // Not implemented
+
public:
GeoManagerHolder(TGeoManager* new_gmgr=0);
virtual ~GeoManagerHolder();
class TSelectorToEventList : public TSelectorDraw
{
+ TSelectorToEventList(const TSelectorToEventList&); // Not implemented
+ TSelectorToEventList& operator=(const TSelectorToEventList&); // Not implemented
+
protected:
TEventList* fEvList;
TList fInput;
class TPointSelector : public TSelectorDraw
{
+ TPointSelector(const TPointSelector&); // Not implemented
+ TPointSelector& operator=(const TPointSelector&); // Not implemented
+
protected:
TTree *fTree;
TPointSelectorConsumer *fConsumer;
ClassImp(Reve::Track)
-Track::Track()
-{
- fRnrStyle = 0;
-}
+Track::Track() :
+ RenderElement(),
+ TPolyLine3D(),
-Track::Track(Reve::MCTrack* t, TrackRnrStyle* rs)
-{
- fRnrStyle = rs;
+ fV(),
+ fP(),
+ fBeta(0),
+ fCharge(0),
+ fLabel(0),
+ fPathMarks(),
+
+ fRnrStyle(0),
+
+ fName(),
+ fTitle()
+{}
+
+Track::Track(Reve::MCTrack* t, TrackRnrStyle* rs):
+ RenderElement(),
+ TPolyLine3D(),
- fName = t->GetName();
+ fV(t->Vx(), t->Vy(), t->Vz()),
+ fP(t->Px(), t->Py(), t->Pz()),
+ fBeta(t->P()/t->Energy()),
+ fCharge(0),
+ fLabel(t->label),
+ fPathMarks(),
+
+ fRnrStyle(rs),
+
+ fName(t->GetName()),
+ fTitle()
+{
fLineColor = fRnrStyle->GetColor();
fMainColorPtr = &fLineColor;
- fV.Set(t->Vx(), t->Vy(), t->Vz());
- fP.Set(t->Px(), t->Py(), t->Pz());
- fBeta = t->P()/t->Energy();
-
TParticlePDG* pdgp = t->GetPDG();
if(pdgp == 0) {
t->ResetPdgCode(); pdgp = t->GetPDG();
}
-
fCharge = (Int_t) TMath::Nint(pdgp->Charge()/3);
- fLabel = t->label;
}
-Track::Track(Reve::RecTrack* t, TrackRnrStyle* rs)
+Track::Track(Reve::RecTrack* t, TrackRnrStyle* rs) :
+ RenderElement(),
+ TPolyLine3D(),
+
+ fV(t->V),
+ fP(t->P),
+ fBeta(t->beta),
+ fCharge(t->sign),
+ fLabel(t->label),
+ fPathMarks(),
+
+ fRnrStyle(rs),
+
+ fName(t->GetName()),
+ fTitle()
{
- fRnrStyle = rs;
- fName = t->GetName();
fLineColor = fRnrStyle->GetColor();
fMainColorPtr = &fLineColor;
-
- fV = t->V;
- fP = t->P;
- fBeta = t->beta;
- fCharge = t->sign;
- fLabel = t->label;
}
Track::~Track()
-{}
+{
+ for (vpPathMark_i i=fPathMarks.begin(); i!=fPathMarks.end(); ++i)
+ delete *i;
+}
void Track::Reset(Int_t n_points)
{
const Float_t TrackRnrStyle::fgkB2C = 0.299792458e-3;
TrackRnrStyle TrackRnrStyle::fgDefStyle;
-void TrackRnrStyle::Init()
-{
- fMagField = fgDefMagField;
+TrackRnrStyle::TrackRnrStyle() :
+ TObject(),
- fMaxR = 350;
- fMaxZ = 450;
+ fColor(1),
+ fMagField(fgDefMagField),
- fMaxOrbs = 0.5;
- fMinAng = 45;
+ fMaxR (350),
+ fMaxZ (450),
- fFitDaughters = kTRUE;
- fFitDecay = kTRUE;
+ fMaxOrbs (0.5),
+ fMinAng (45),
+ fDelta (0.1),
- fDelta = 0.1; //calculate step size depending on helix radius
-}
+ fFitDaughters(kTRUE),
+ fFitDecay (kTRUE)
+{}
/**************************************************************************/
/**************************************************************************/
fMarkerColor = 5;
// fMarker->SetMarkerSize(0.05);
- fRnrMarkers = kTRUE;
- fRnrTracks = kTRUE;
-
mRnrStyle = new TrackRnrStyle;
SetMainColorPtr(&mRnrStyle->fColor);
}
TrackList::TrackList(Int_t n_tracks) :
RenderElementListBase(),
- TPolyMarker3D(n_tracks)
+ TPolyMarker3D(n_tracks),
+
+ fTitle(),
+
+ mRnrStyle (0),
+ fRnrMarkers (kTRUE),
+ fRnrTracks (kTRUE)
{
Init();
}
TrackList::TrackList(const Text_t* name, Int_t n_tracks) :
RenderElementListBase(),
- TPolyMarker3D(n_tracks)
+ TPolyMarker3D(n_tracks),
+
+ fTitle(),
+
+ mRnrStyle (0),
+ fRnrMarkers (kTRUE),
+ fRnrTracks (kTRUE)
{
Init();
SetName(name);
{
friend class TrackList;
-private:
- void Init();
+ Track(const Track&); // Not implemented
+ Track& operator=(const Track&); // Not implemented
protected:
- Reve::Vector fV;
- Reve::Vector fP;
- Double_t fBeta;
- Int_t fCharge;
- Int_t fLabel;
+ typedef std::vector<Reve::PathMark*> vpPathMark_t;
+ typedef std::vector<Reve::PathMark*>::iterator vpPathMark_i;
+
+ Reve::Vector fV;
+ Reve::Vector fP;
+ Double_t fBeta;
+ Int_t fCharge;
+ Int_t fLabel;
+ vpPathMark_t fPathMarks;
- TrackRnrStyle* fRnrStyle;
+ TrackRnrStyle* fRnrStyle;
- TString fName;
- TString fTitle;
+ TString fName;
+ TString fTitle;
public:
Track();
Track(Reve::MCTrack* t, TrackRnrStyle* rs);
Track(Reve::RecTrack* t, TrackRnrStyle* rs);
- std::vector<Reve::PathMark*> fPathMarks;
virtual ~Track();
void Reset(Int_t n_points=0);
virtual void SetTitle(const Text_t* title) { fTitle = title; }
Int_t GetLabel() const { return fLabel; }
+ void AddPathMark(Reve::PathMark* pm) { fPathMarks.push_back(pm); }
//--------------------------------
class TrackRnrStyle : public TObject
{
-private:
- void Init();
-
public:
Color_t fColor;
Float_t fMagField;
Bool_t fFitDaughters;
Bool_t fFitDecay;
- TrackRnrStyle() { Init(); }
+ TrackRnrStyle();
void SetColor(Color_t c) { fColor = c; }
Color_t GetColor() const { return fColor; }
class TrackList : public RenderElementListBase,
public TPolyMarker3D
{
+ TrackList(const TrackList&); // Not implemented
+ TrackList& operator=(const TrackList&); // Not implemented
+
private:
void Init();
ClassImp(TrackListEditor)
-TrackListEditor::TrackListEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
- UInt_t options, Pixel_t back) :
- TGedFrame(p, id, width, height, options | kVerticalFrame, back)
+TrackListEditor::TrackListEditor(const TGWindow *p, Int_t id,
+ Int_t width, Int_t height,
+ UInt_t options, Pixel_t back) :
+ TGedFrame(p, id, width, height, options | kVerticalFrame, back),
+
+ fTC (0),
+
+ fMaxR(0),
+ fMaxZ(0),
+ fMaxOrbits(0),
+ fMinAng(0),
+ fDelta(0),
+
+ fRnrTracks(0),
+ fRnrMarkers(0),
+
+ fFitDaughters(0),
+ fFitDecay(0),
+
+ fPtRange(0)
{
- fTC = 0;
MakeTitle("TrackList");
// --- Limits
class TrackListEditor : public TGedFrame
{
+ TrackListEditor(const TrackListEditor&); // Not implemented
+ TrackListEditor& operator=(const TrackListEditor&); // Not implemented
+
protected:
TrackList* fTC; // fModel dynamic-casted to TrackListEditor
ClassImp(VSD)
-VSD::VSD()
-{
- mFile = 0;
- mDirectory = 0;
- InitTreeVars();
-}
-
-VSD::VSD(const Text_t* , const Text_t* )
-{
- mFile = 0;
- mDirectory = 0;
- InitTreeVars();
-}
-
-void VSD::InitTreeVars()
-{
- fBuffSize = 128*1024;
-
- mTreeK = 0;
- //mTreeTR = 0;
- mTreeH = 0;
- mTreeC = 0;
- mTreeR = 0;
- mTreeKK = 0;
- mTreeV0 = 0;
- mTreeGI = 0;
-
- mpK = &mK;
- mpH = &mH;
- mpC = &mC;
- mpV0 = &mV0;
- mpKK = &mKK;
- mpR = &mR;
- mpGI = &mGI;
-}
+VSD::VSD(const Text_t* , const Text_t* ) :
+ TObject(),
+
+ fBuffSize (128*1024),
+
+ mFile (0),
+ mDirectory (0),
+
+
+ mTreeK (0),
+ //mTreeTR (0),
+ mTreeH (0),
+ mTreeC (0),
+ mTreeR (0),
+ mTreeKK (0),
+ mTreeV0 (0),
+ mTreeGI (0),
+
+ mK(), mpK (&mK),
+ mH(), mpH (&mH),
+ mC(), mpC (&mC),
+ mR(), mpR (&mR),
+ mKK(), mpKK(&mKK),
+ mV0(), mpV0(&mV0),
+ mGI(), mpGI(&mGI)
+{}
/**************************************************************************/
/**************************************************************************/
class VSD : public TObject
{
+ VSD(const VSD&); // Not implemented
+ VSD& operator=(const VSD&); // Not implemented
+
protected:
Int_t fBuffSize;
GenInfo mGI, *mpGI; //!
public:
- VSD();
- VSD(const Text_t* name, const Text_t* title="");
- virtual void InitTreeVars();
+ VSD(const Text_t* name="VSD", const Text_t* title="");
virtual void SetDirectory(TDirectory* dir);
VSDEvent::VSDEvent() :
EventBase("VSDEvent"),
- fRun(0), fEvent(0),
+ fRun(0), fEvent(0), fUrl(),
+ fTags(),
fDirectory(0), fCreator(0), fSelector(0)
{}
VSDEvent::VSDEvent(Int_t run, Int_t evt, const TString& url) :
EventBase("VSDEvent"),
fRun(run), fEvent(evt), fUrl(url),
+ fTags(),
fDirectory(0), fCreator(0), fSelector(0)
{}
VSDEvent::VSDEvent(const TString& url) :
EventBase("VSDEvent"),
fRun(0), fEvent(0), fUrl(url),
+ fTags(),
fDirectory(0), fCreator(0), fSelector(0)
{}
public:
TFolder fFolder;
- EvTree() : TTree() {}
+ EvTree() : TTree(), fFolder() {}
EvTree(const char* name, const char* title, Int_t splitlevel = 99) :
TTree(name, title, splitlevel), fFolder("Folder", "Additional event data") {}
virtual ~EvTree() {}
class VSDEvent : public EventBase
{
+ VSDEvent(const VSDEvent&); // Not implemented
+ VSDEvent& operator=(const VSDEvent&); // Not implemented
+
protected:
Int_t fRun;
Int_t fEvent;
using Reve::Exc_t;
-VSDSelector::VSDSelector(TGListTree* lt, TGCompositeFrame *tFrame)
-{
- fListTree = lt;
+VSDSelector::VSDSelector(TGListTree* lt, TGCompositeFrame *tFrame) :
+ VSD(),
+
+ fListTree (lt),
+ mParticleSelection(0),
+ mHitSelection(0),
+ mClusterSelection(0),
+ mRecSelection(0),
+
+ fRecursiveSelect(0)
+{
//create gui
TGGroupFrame *gframe = new TGGroupFrame(tFrame, "Options", kVerticalFrame);
TGLayoutHints* lh0 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY , 5, 5, 5, 5);
pm->V.x = mK.V_decay.x;
pm->V.y = mK.V_decay.y;
pm->V.z = mK.V_decay.z;
- track->fPathMarks.push_back(pm);
+ track->AddPathMark(pm);
}
}
track->MakeTrack();
dam->V.x = mK.Vx();
dam->V.y = mK.Vy();
dam->V.z = mK.Vz();
- mother->fPathMarks.push_back(dam);
+ mother->AddPathMark(dam);
if(mK.decayed) {
Reve::PathMark* decm = new Reve::PathMark(Reve::PathMark::Decay);
decm->V.x = mK.V_decay.x;
decm->V.y = mK.V_decay.y;
decm->V.z = mK.V_decay.z;
- track->fPathMarks.push_back(decm);
+ track->AddPathMark(decm);
}
track->MakeTrack();
namespace Reve {
- class TrackRnrStyle;
- class TrackList;
-
- class VSDSelector : public ::Reve::VSD
- {
- private:
- void NotifyBrowser(TGListTreeItem* parent);
- TGListTree* fListTree;
-
- protected:
- TGTextEntry* mParticleSelection;
- TGTextEntry* mHitSelection;
- TGTextEntry* mClusterSelection;
- TGTextEntry* mRecSelection;
-
- public:
- TGCheckButton* fRecursiveSelect;
- VSDSelector(TGListTree* lt, TGCompositeFrame *tFrame);
-
- virtual void LoadVSD(const Text_t* vsd_file_name,
- const Text_t* dir_name="Event0");
-
- void SelectParticles (const Text_t* selection=0);
- void ImportDaughtersRec(TGListTreeItem* parent, TrackList* cont, Int_t first, Int_t last);
- void SelectHits();
- void SelectClusters();
- void SelectRecTracks();
-
- void SetRecursiveSelection(Bool_t rec){fRecursiveSelect->SetOn(rec,1);}
- // printf("SetRecursiveSelection is %d on %d \n", rec?1:0,fRecursiveSelect->IsOn()?1:0);}
- Bool_t GetRecursiveSelection(){return fRecursiveSelect->IsOn();}
- ClassDef(VSDSelector, 1);
- };
+class TrackRnrStyle;
+class TrackList;
+
+class VSDSelector : public ::Reve::VSD
+{
+ VSDSelector(const VSDSelector&); // Not implemented
+ VSDSelector& operator=(const VSDSelector&); // Not implemented
+
+private:
+ void NotifyBrowser(TGListTreeItem* parent);
+ TGListTree* fListTree;
+
+protected:
+ TGTextEntry* mParticleSelection;
+ TGTextEntry* mHitSelection;
+ TGTextEntry* mClusterSelection;
+ TGTextEntry* mRecSelection;
+
+public:
+ TGCheckButton* fRecursiveSelect;
+ VSDSelector(TGListTree* lt, TGCompositeFrame *tFrame);
+
+ virtual void LoadVSD(const Text_t* vsd_file_name,
+ const Text_t* dir_name="Event0");
+
+ void SelectParticles (const Text_t* selection=0);
+ void ImportDaughtersRec(TGListTreeItem* parent, TrackList* cont, Int_t first, Int_t last);
+ void SelectHits();
+ void SelectClusters();
+ void SelectRecTracks();
+
+ void SetRecursiveSelection(Bool_t rec){fRecursiveSelect->SetOn(rec,1);}
+ // printf("SetRecursiveSelection is %d on %d \n", rec?1:0,fRecursiveSelect->IsOn()?1:0);}
+ Bool_t GetRecursiveSelection(){return fRecursiveSelect->IsOn();}
+ ClassDef(VSDSelector, 1);
+};
}