]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveVSDCreator.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveVSDCreator.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEveVSDCreator_H
11 #define AliEveVSDCreator_H
12
13 #include <TEveVSD.h>
14
15 #include <map>
16
17 class AliTPCParam;
18 class AliRunLoader;
19
20 class AliEveVSDCreator : public TEveVSD
21 {
22 private:
23   AliEveVSDCreator(const AliEveVSDCreator&);            // Not implemented
24   AliEveVSDCreator& operator=(const AliEveVSDCreator&); // Not implemented
25
26 protected:
27   void               MakeItsDigitsInfo();
28   TEveMCRecCrossRef* GetGeninfo(Int_t label);
29   AliTPCParam*       GetTpcParam(const TEveException& eh);
30
31   TString       fDataDir;    // Source data directory.
32   Int_t         fEvent;      // Source event number.
33
34   Float_t       fTPCHitRes;  // Resolution for storing TPC hits.
35   Float_t       fTRDHitRes;  // Resolution for storing TRD hits.
36
37   Int_t         fDebugLevel; // Internal debug level.
38
39   AliRunLoader *fRunLoader;  // Internal run-loader.
40
41   std::map<Int_t, TEveMCRecCrossRef*> fGenInfoMap; // Map label to MC-Rec cross-ref data structure.
42
43 public:
44   AliEveVSDCreator(const Text_t* name="AliEveVSDCreator", const Text_t* title="");
45   virtual ~AliEveVSDCreator() {}
46
47   void CreateVSD(const Text_t* dataDir, Int_t event, const Text_t* vsdFile);
48
49   void CreateTrees();
50
51   // --------------------------------------------------------------
52   // Conversion functions.
53
54   void ConvertKinematics();
55   void ConvertHits();
56   void ConvertClusters();
57   void ConvertTPCClusters();
58   void ConvertITSClusters();
59   void ConvertV0();
60   void ConvertKinks();
61   void ConvertRecTracks();
62   void ConvertGenInfo();
63
64   // --------------------------------------------------------------
65
66   Int_t GetDebugLevel() const   { return fDebugLevel; }
67   void  SetDebugLevel(Int_t dl) { fDebugLevel = dl; }
68
69   ClassDef(AliEveVSDCreator, 0); // Create VSD file from ALICE data.
70 }; // endclass AliEveVSDCreator
71
72 #endif