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

/*
  $Id$
 */
//////////////////////////////////////////////////////////////////
// Digitizer class for ITS                                      //
//////////////////////////////////////////////////////////////////
class TObjArray;
class TTree;

class AliDigitizationInput;

#include "AliDigitizer.h" // Base class from which this one is derived
#include "AliITS.h"   // ITS class functions used in inline functions.
class AliITSmodule;

class AliITSDigitizer : public AliDigitizer{
 public:
    AliITSDigitizer();
    AliITSDigitizer(AliDigitizationInput* digInput);

    virtual ~AliITSDigitizer();
    // Standard routines.
    virtual Bool_t Init();
    // Perform SDigits to Digits, with or without merging, depending on the
    // number of files.
    virtual void Digitize(Option_t* opt=0);
    // Sets a particular module active
    virtual void SetModuleActive(Int_t i){if(fModActive) fModActive[i] = kTRUE;}
    // Sets a particular module inactive
    virtual void SetModuleInActive(Int_t i){if(fModActive) fModActive[i] = kFALSE;}
    // Sets Region of Interst Flag. if fRiof=0 then no Region of Interest
    // cut applyed
    virtual void SetByRegionOfInterestFlag(Int_t i=0){fRoif = i;};
    // Sets the SDigits file number to  be used to define the region of 
    // interest. Default is file=-1, assumed that a region of interest
    // cut will be applied. A value of 0 means no cut to be applyed. Other
    // values have yet to be defined.
    virtual void SetByRegionOfFileNumber(Int_t i=-1){fRoiifile = i;};
    // Clears the region of interest flag. Calling this implies that a
    // Region of interest cut will not be made.
    virtual void ClearByRegionOfInterestFlag(){fRoif = 0;};
 private:
    AliITSDigitizer(const AliITSDigitizer& dig);
    AliITSDigitizer& operator=(const AliITSDigitizer &source);
    // Routines used internaly
    // Returns a pointer to the TObjecArray of Modules.
    TObjArray* GetModules(){return fITS->GetModules();}
    // Returns a pointer to a  specific module.
    AliITSmodule* GetModule(Int_t i){return fITS->GetModule(i);}
    // Returns a pointer to the manager
    AliDigitizationInput* GetDigInput(){return fDigInput;}
    // Sets the region of Interest based on which module have SDigits
    // Defined (non-noise SDigits).
    virtual void SetByRegionOfInterest(TTree *ts);
 private:
    AliITS *fITS;      //! local pointer to ITS
    Bool_t *fModActive;//! flag to indicate which module to digitize.
    Bool_t  fInit;     //! flag to indecate Initilization when well.
    Int_t   fRoif;     //! Region of interest flag.
    Int_t   fRoiifile; //! The file number with which to determing the region
                       // of interest from.
    Bool_t fFlagFirstEv; //! Flag to control calibration access

    ClassDef(AliITSDigitizer,2) // Task to Digitize ITS from summable hits.
};
#endif
 AliITSDigitizer.h:1
 AliITSDigitizer.h:2
 AliITSDigitizer.h:3
 AliITSDigitizer.h:4
 AliITSDigitizer.h:5
 AliITSDigitizer.h:6
 AliITSDigitizer.h:7
 AliITSDigitizer.h:8
 AliITSDigitizer.h:9
 AliITSDigitizer.h:10
 AliITSDigitizer.h:11
 AliITSDigitizer.h:12
 AliITSDigitizer.h:13
 AliITSDigitizer.h:14
 AliITSDigitizer.h:15
 AliITSDigitizer.h:16
 AliITSDigitizer.h:17
 AliITSDigitizer.h:18
 AliITSDigitizer.h:19
 AliITSDigitizer.h:20
 AliITSDigitizer.h:21
 AliITSDigitizer.h:22
 AliITSDigitizer.h:23
 AliITSDigitizer.h:24
 AliITSDigitizer.h:25
 AliITSDigitizer.h:26
 AliITSDigitizer.h:27
 AliITSDigitizer.h:28
 AliITSDigitizer.h:29
 AliITSDigitizer.h:30
 AliITSDigitizer.h:31
 AliITSDigitizer.h:32
 AliITSDigitizer.h:33
 AliITSDigitizer.h:34
 AliITSDigitizer.h:35
 AliITSDigitizer.h:36
 AliITSDigitizer.h:37
 AliITSDigitizer.h:38
 AliITSDigitizer.h:39
 AliITSDigitizer.h:40
 AliITSDigitizer.h:41
 AliITSDigitizer.h:42
 AliITSDigitizer.h:43
 AliITSDigitizer.h:44
 AliITSDigitizer.h:45
 AliITSDigitizer.h:46
 AliITSDigitizer.h:47
 AliITSDigitizer.h:48
 AliITSDigitizer.h:49
 AliITSDigitizer.h:50
 AliITSDigitizer.h:51
 AliITSDigitizer.h:52
 AliITSDigitizer.h:53
 AliITSDigitizer.h:54
 AliITSDigitizer.h:55
 AliITSDigitizer.h:56
 AliITSDigitizer.h:57
 AliITSDigitizer.h:58
 AliITSDigitizer.h:59
 AliITSDigitizer.h:60
 AliITSDigitizer.h:61
 AliITSDigitizer.h:62
 AliITSDigitizer.h:63
 AliITSDigitizer.h:64
 AliITSDigitizer.h:65
 AliITSDigitizer.h:66
 AliITSDigitizer.h:67
 AliITSDigitizer.h:68
 AliITSDigitizer.h:69
 AliITSDigitizer.h:70
 AliITSDigitizer.h:71