Elaborating split mode to write data only to the split files
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSDigitizer.h
CommitLineData
990119d6 1#ifndef ALIPHOSSDigitizer_H
2#define ALIPHOSSDigitizer_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// Task Class for making SDigits in PHOS
baef0810 10// A Summable Digits is the sum of all hits originating
11// from one primary in one active cell
12//*--
990119d6 13//*-- Author: Dmitri Peressounko(SUBATECH & KI)
14
15
16// --- ROOT system ---
17#include "TTask.h"
18#include "TString.h"
c093f031 19class TFile ;
20
990119d6 21// --- Standard library ---
22
23// --- AliRoot header files ---
24
25class AliPHOSSDigitizer: public TTask {
26
27public:
28 AliPHOSSDigitizer() ; // ctor
fbf811ec 29 AliPHOSSDigitizer(const char* headerFile, const char *sdigitsTitle = "Default", const Bool_t toSplit = kFALSE) ;
c093f031 30 virtual ~AliPHOSSDigitizer() ; // dtor
990119d6 31
7acf6008 32 Float_t Calibrate(Int_t amp)const {return (amp - fA)/fB ; }
33 Int_t Digitize(Float_t Energy)const { return (Int_t ) ( fA + Energy*fB); }
fbf811ec 34 virtual void Exec(Option_t *option);
7b7c1533 35 const char * GetSDigitsBranch()const{return GetName();}
2b60655b 36 const Int_t GetSDigitsInRun() const {return fSDigitsInRun ;}
990119d6 37 virtual void Print(Option_t* option) const ;
106fc2fa 38 void SetSDigitsBranch(const char * title ) ;
fbf811ec 39 // void SetSplitFile(const TString splitFileName = "PHOS.SDigits.root") ;
106fc2fa 40 void UseHitsFrom(const char * filename) ;
41 Bool_t operator == (const AliPHOSSDigitizer & sd) const ;
7acf6008 42
43private:
44 void Init() ;
8d0f3f77 45 void InitParameters() ;
7acf6008 46 void PrintSDigits(Option_t * option) ;
990119d6 47
48private:
7b7c1533 49 Float_t fA ; // Pedestal parameter
50 Float_t fB ; // Slope Digitizition parameters
990119d6 51 Float_t fPrimThreshold ; // To store primari if Elos > threshold
fbf811ec 52 Bool_t fDefaultInit; //! Says if the task was created by defaut ctor (only parameters are initialized)
53 Int_t fSDigitsInRun ; //! Total number of sdigits in one run
c093f031 54 TFile * fSplitFile ; //! file in which SDigits will eventually be stored
fbf811ec 55 Bool_t fToSplit ; //! Says that sigits should be written into splip file
990119d6 56
990119d6 57 ClassDef(AliPHOSSDigitizer,1) // description
58
59};
60
61#endif // AliPHOSSDigitizer_H