diff --git a/graf3d/eve/inc/TEveVSD.h b/graf3d/eve/inc/TEveVSD.h
index 0af7163ca4ba6dc6a0159bfadce35485fb16f379..34d2a048cbebef134ec21a5f3637f39d8c518c8c 100644
--- a/graf3d/eve/inc/TEveVSD.h
+++ b/graf3d/eve/inc/TEveVSD.h
@@ -28,13 +28,14 @@ protected:
    TDirectory*  fDirectory;   //!
 
 public:
-   TTree*             fTreeK;       //!
-   TTree*             fTreeH;       //!
-   TTree*             fTreeC;       //!
-   TTree*             fTreeR;       //!
-   TTree*             fTreeKK;      //!
-   TTree*             fTreeV0;      //!
-   TTree*             fTreeGI;      //!
+   TTree*             fTreeK;       //! Kinematics.
+   TTree*             fTreeH;       //! Hits.
+   TTree*             fTreeC;       //! Clusters.
+   TTree*             fTreeR;       //! Reconstructed tracks.
+   TTree*             fTreeKK;      //! Kinks.
+   TTree*             fTreeV0;      //! VO's.
+   TTree*             fTreeCC;      //! Cascades.
+   TTree*             fTreeGI;      //! Sim-Rec cross references.
 
    TEveMCTrack        fK,  *fpK;    //!
    TEveHit            fH,  *fpH;    //!
@@ -42,6 +43,7 @@ public:
    TEveRecTrack       fR,  *fpR;    //!
    TEveRecKink        fKK, *fpKK;   //!
    TEveRecV0          fV0, *fpV0;   //!
+   TEveRecCascade     fCC, *fpCC;   //!
    TEveMCRecCrossRef  fGI, *fpGI;   //!
 
 public:
diff --git a/graf3d/eve/inc/TEveVSDStructs.h b/graf3d/eve/inc/TEveVSDStructs.h
index 3c1c702b98300cfa64efc4bca25f1ab5516bf219..2839ae72c1b20a3491d0521a3535bc4b256dd666 100644
--- a/graf3d/eve/inc/TEveVSDStructs.h
+++ b/graf3d/eve/inc/TEveVSDStructs.h
@@ -33,6 +33,7 @@
 //  * placement in TClonesArray (composites are TObject derived);
 //
 //  * minimal member-naming (impossible to make everybody happy).
+//
 
 
 /******************************************************************************/
@@ -366,12 +367,39 @@ public:
    ClassDef(TEveRecV0, 1); // Reconstructed V0 (also used in VSD).
 };
 
+
 /******************************************************************************/
+// TEveRecCascade
 /******************************************************************************/
 
-// Missing primary vertex.
+class TEveRecCascade : public TObject
+{
+public:
+   Int_t      fStatus;
+
+   TEveVector fVBac;         // Vertex of bachelor track.
+   TEveVector fPBac;         // Momentum of bachelor track.
+
+   TEveVector fCascadeVCa;   // Point of closest approach for Cascade.
+   TEveVector fCascadeBirth; // Reconstucted birth point of cascade particle.
+
+   // ? Data from simulation.
+   Int_t      fLabel;        // Cascade mother label read from kinematics.
+   Int_t      fPdg;          // PDG code of mother.
+   Int_t      fDLabel;       // Daughter label.
+
+   TEveRecCascade() : fStatus(),  fVBac(), fPBac(),
+                      fCascadeVCa(), fCascadeBirth(),
+                      fLabel(0), fPdg(0), fDLabel(0) {}
+   virtual ~TEveRecCascade() {}
 
-// Missing TEveMCRecCrossRef, RecInfo.
+   ClassDef(TEveRecCascade, 1); // Reconstructed Cascade (also used in VSD).
+};
+
+
+/******************************************************************************/
+// TEveMCRecCrossRef
+/******************************************************************************/
 
 class TEveMCRecCrossRef : public TObject
 {
@@ -390,6 +418,12 @@ public:
    ClassDef(TEveMCRecCrossRef, 1); // Cross-reference of sim/rec data per particle (also used in VSD).
 };
 
+
+/******************************************************************************/
+// Missing primary vertex class.
+/******************************************************************************/
+
+
 /******************************************************************************/
 /******************************************************************************/
 
diff --git a/graf3d/eve/src/TEveVSD.cxx b/graf3d/eve/src/TEveVSD.cxx
index f01c5bb86837cfe435f0f5307145e6120801ecb3..633296e2dd8be89a04c890ee6c5504d16f66e9ad 100644
--- a/graf3d/eve/src/TEveVSD.cxx
+++ b/graf3d/eve/src/TEveVSD.cxx
@@ -12,13 +12,16 @@
 #include "TEveVSD.h"
 #include "TFile.h"
 
-//______________________________________________________________________________
+//==============================================================================
 // TEveVSD
+//==============================================================================
+
+//______________________________________________________________________________
 //
 // Visualization Summary Data - a collection of trees holding standard
 // event data in experiment independant format.
 
-ClassImp(TEveVSD)
+ClassImp(TEveVSD);
 
 //______________________________________________________________________________
 TEveVSD::TEveVSD(const Text_t* , const Text_t* ) :
@@ -35,6 +38,7 @@ TEveVSD::TEveVSD(const Text_t* , const Text_t* ) :
    fTreeR  (0),
    fTreeKK (0),
    fTreeV0 (0),
+   fTreeCC (0),
    fTreeGI (0),
 
    fK(),  fpK (&fK),
@@ -43,6 +47,7 @@ TEveVSD::TEveVSD(const Text_t* , const Text_t* ) :
    fR(),  fpR (&fR),
    fKK(), fpKK(&fKK),
    fV0(), fpV0(&fV0),
+   fCC(), fpCC(&fCC),
    fGI(), fpGI(&fGI)
 {
    // Constructor.
@@ -71,6 +76,7 @@ void TEveVSD::CreateTrees()
    fTreeR  = new TTree("RecTracks",  "Reconstructed tracks.");
    fTreeKK = new TTree("RecKinks",   "Reconstructed kinks.");
    fTreeV0 = new TTree("RecV0s",     "Reconstructed V0s.");
+   fTreeCC = new TTree("RecCascades","Reconstructed cascades.");
    fTreeGI = new TTree("TEveMCRecCrossRef",    "Objects prepared for cross query.");
 }