Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:31

0001 // @(#)root/eve7:$Id$
0002 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT7_REveVSD
0013 #define ROOT7_REveVSD
0014 
0015 #include <ROOT/REveUtil.hxx>
0016 #include <ROOT/REveVSDStructs.hxx>
0017 
0018 class TTree;
0019 class TFile;
0020 class TDirectory;
0021 
0022 namespace ROOT {
0023 namespace Experimental {
0024 
0025 class REveVSD : public TObject {
0026    REveVSD(const REveVSD &) = delete;
0027    REveVSD &operator=(const REveVSD &) = delete;
0028 
0029 protected:
0030    TFile *fFile{nullptr};           //!
0031    TDirectory *fDirectory{nullptr}; //!
0032 
0033    Int_t fBuffSize{0}; //!
0034    Int_t fVerbose{0};  //!
0035 
0036 public:
0037    TTree *fTreeK{nullptr};  //! Kinematics.
0038    TTree *fTreeH{nullptr};  //! Hits.
0039    TTree *fTreeC{nullptr};  //! Clusters.
0040    TTree *fTreeR{nullptr};  //! Reconstructed tracks.
0041    TTree *fTreeKK{nullptr}; //! Kinks.
0042    TTree *fTreeV0{nullptr}; //! VO's.
0043    TTree *fTreeCC{nullptr}; //! Cascades.
0044    TTree *fTreeGI{nullptr}; //! Sim-Rec cross references.
0045 
0046    REveMCTrack fK, *fpK{nullptr};         //!
0047    REveHit fH, *fpH{nullptr};             //!
0048    REveCluster fC, *fpC{nullptr};         //!
0049    REveRecTrack fR, *fpR{nullptr};        //!
0050    REveRecKink fKK, *fpKK{nullptr};       //!
0051    REveRecV0 fV0, *fpV0{nullptr};         //!
0052    REveRecCascade fCC, *fpCC{nullptr};    //!
0053    REveMCRecCrossRef fGI, *fpGI{nullptr}; //!
0054 
0055 public:
0056    REveVSD(const char *name = "REveVSD", const char *title = "");
0057    ~REveVSD() override;
0058 
0059    virtual void SetDirectory(TDirectory *dir);
0060 
0061    virtual void CreateTrees();
0062    virtual void DeleteTrees();
0063 
0064    virtual void CreateBranches();
0065    virtual void WriteTrees();
0066 
0067    virtual void LoadTrees();
0068    virtual void SetBranchAddresses();
0069 
0070    static void DisableTObjectStreamersForVSDStruct();
0071 
0072    ClassDefOverride(REveVSD, 1); // Visualization Summary Data - a collection of trees holding standard event data in experiment independent format.
0073 };
0074 
0075 } // namespace Experimental
0076 } // namespace ROOT
0077 
0078 #endif