ROOT logo
#ifndef ALILEGO_H
#define ALILEGO_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                                                                           //
//    Utility class to compute and draw Radiation Length Map                 //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "TNamed.h"
class TH2F;
class AliLegoGenerator;
class TClonesArray;

class AliLego : public TNamed  {

public:
  AliLego();
  AliLego(const char *title, Int_t ntheta,Float_t themin,
	  Float_t themax, Int_t nphi, Float_t phimin,
	  Float_t phimax,Float_t rmin,Float_t rmax,Float_t zmax);
  AliLego(const char *title, AliLegoGenerator* generator);
  AliLego(const AliLego &lego);
  virtual ~AliLego();
  virtual void  StepManager();
  virtual void  BeginEvent();
  virtual void  FinishEvent();
  virtual void  FinishRun();
  virtual AliLego &operator=(const AliLego &lego) 
  {lego.Copy(*this);return(*this);}

private:
  void Copy(TObject &lego) const;
  void DumpVolumes();
  
private:
   AliLegoGenerator *fGener;     //Lego generator
   Float_t    fTotRadl;          //!Total Radiation length
   Float_t    fTotAbso;          //!Total absorption length
   Float_t    fTotGcm2;          //!Total G/CM2 traversed
   TH2F      *fHistRadl;         //Radiation length map 
   TH2F      *fHistAbso;         //Interaction length map
   TH2F      *fHistGcm2;         //g/cm2 length map
   TH2F      *fHistReta;         //Radiation length map as a function of eta
   TH2F      *fRZR;              // Radiation lenghts at (R.Z)
   TH2F      *fRZA;              // Absorbtion lengths at (R,Z)
   TH2F      *fRZG;              // Density at (R,Z)
   TClonesArray *fVolumesFwd;    //!Volume sequence forward
   TClonesArray *fVolumesBwd;    //!Volume sequence backward   
   Int_t      fStepBack;         //!Flag for backstepping
   Int_t      fStepsBackward;    //!Counts steps forward
   Int_t      fStepsForward;     //!Counts steps backward
   Int_t      fErrorCondition;   //!Error condition flag
   Int_t      fDebug;            // Debug Flag
   Bool_t     fStopped;          //!Scoring has been stopped 
   
  ClassDef(AliLego,1) //Utility class to compute and draw Radiation Length Map

};


#endif











 AliLego.h:1
 AliLego.h:2
 AliLego.h:3
 AliLego.h:4
 AliLego.h:5
 AliLego.h:6
 AliLego.h:7
 AliLego.h:8
 AliLego.h:9
 AliLego.h:10
 AliLego.h:11
 AliLego.h:12
 AliLego.h:13
 AliLego.h:14
 AliLego.h:15
 AliLego.h:16
 AliLego.h:17
 AliLego.h:18
 AliLego.h:19
 AliLego.h:20
 AliLego.h:21
 AliLego.h:22
 AliLego.h:23
 AliLego.h:24
 AliLego.h:25
 AliLego.h:26
 AliLego.h:27
 AliLego.h:28
 AliLego.h:29
 AliLego.h:30
 AliLego.h:31
 AliLego.h:32
 AliLego.h:33
 AliLego.h:34
 AliLego.h:35
 AliLego.h:36
 AliLego.h:37
 AliLego.h:38
 AliLego.h:39
 AliLego.h:40
 AliLego.h:41
 AliLego.h:42
 AliLego.h:43
 AliLego.h:44
 AliLego.h:45
 AliLego.h:46
 AliLego.h:47
 AliLego.h:48
 AliLego.h:49
 AliLego.h:50
 AliLego.h:51
 AliLego.h:52
 AliLego.h:53
 AliLego.h:54
 AliLego.h:55
 AliLego.h:56
 AliLego.h:57
 AliLego.h:58
 AliLego.h:59
 AliLego.h:60
 AliLego.h:61
 AliLego.h:62
 AliLego.h:63
 AliLego.h:64
 AliLego.h:65
 AliLego.h:66
 AliLego.h:67
 AliLego.h:68
 AliLego.h:69
 AliLego.h:70
 AliLego.h:71
 AliLego.h:72
 AliLego.h:73
 AliLego.h:74
 AliLego.h:75
 AliLego.h:76
 AliLego.h:77
 AliLego.h:78
 AliLego.h:79