]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveVSDCreator.h
ca7484abc1eb54ff26f84503b5141e59d1a0efb4
[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 ALIEVE_VSDCreator_H
11 #define ALIEVE_VSDCreator_H
12
13 #include <TEveVSD.h>
14
15 class AliTPCParam;
16 class AliRunLoader;
17
18 #include <map>
19
20
21 class AliEveVSDCreator : public TEveVSD
22 {
23 private:
24   AliEveVSDCreator(const AliEveVSDCreator&);            // Not implemented
25   AliEveVSDCreator& operator=(const AliEveVSDCreator&); // Not implemented
26
27 protected:
28   void               MakeItsDigitsInfo();
29   TEveMCRecCrossRef* GetGeninfo(Int_t label);
30   AliTPCParam*       GetTpcParam(const TEveException& eh);
31
32   TString       fDataDir;    // Source data directory.
33   Int_t         fEvent;      // Source event number.
34
35   Float_t       fTPCHitRes;  // Resolution for storing TPC hits.
36   Float_t       fTRDHitRes;  // Resolution for storing TRD hits.
37
38   Int_t         fDebugLevel; // Internal debug level.
39
40   AliRunLoader *fRunLoader;  // Internal run-loader.
41
42   std::map<Int_t, TEveMCRecCrossRef*> fGenInfoMap; // Map label to MC-Rec cross-ref data structure.
43
44 public:
45   AliEveVSDCreator(const Text_t* name="AliEveVSDCreator", const Text_t* title="");
46   virtual ~AliEveVSDCreator() {}
47
48   void CreateVSD(const Text_t* dataDir, Int_t event, const Text_t* vsdFile);
49
50   void CreateTrees();
51
52   // --------------------------------------------------------------
53   // Conversion functions.
54
55   void ConvertKinematics();
56   void ConvertHits();
57   void ConvertClusters();
58   void ConvertTPCClusters();
59   void ConvertITSClusters();
60   void ConvertV0();
61   void ConvertKinks();
62   void ConvertRecTracks();
63   void ConvertGenInfo();
64
65   // --------------------------------------------------------------
66
67   Int_t GetDebugLevel() const   { return fDebugLevel; }
68   void  SetDebugLevel(Int_t dl) { fDebugLevel = dl; }
69
70   ClassDef(AliEveVSDCreator, 0); // Create VSD file from ALICE data.
71 }; // endclass AliEveVSDCreator
72
73 #endif