File indexing completed on 2025-01-30 10:22:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
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};
0038 TTree *fTreeH{nullptr};
0039 TTree *fTreeC{nullptr};
0040 TTree *fTreeR{nullptr};
0041 TTree *fTreeKK{nullptr};
0042 TTree *fTreeV0{nullptr};
0043 TTree *fTreeCC{nullptr};
0044 TTree *fTreeGI{nullptr};
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);
0073 };
0074
0075 }
0076 }
0077
0078 #endif