]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRcuDigitMaker.cxx
New component for writing calibration data to fxs (Oystein)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuDigitMaker.cxx
1
2 #include "AliHLTPHOSRcuDigitMaker.h"
3 #include "AliHLTPHOSDigit.h"
4 #include "AliHLTPHOSConstants.h"
5 #include "AliHLTPHOSBaseline.h"
6 #include "TTree.h"
7 #include "TBranch.h"
8 #include "TClonesArray.h"
9 #include "TFile.h"
10
11 #include "AliHLTPHOSValidCellDataStruct.h"
12 #include "AliHLTPHOSRcuCellEnergyDataStruct.h"
13 //#include "AliHLTPHOSDigitContainerStruct.h"
14 #include "AliHLTPHOSDigitDataStruct.h"
15 #include "AliHLTPHOSRcuDigitContainerDataStruct.h"
16        
17
18 //ClassImp(AliHLTPHOSRcuDigitMaker);
19
20 using namespace PhosHLTConst;
21
22 AliHLTPHOSRcuDigitMaker::AliHLTPHOSRcuDigitMaker() :
23   AliHLTPHOSBase(),
24   fCellDataPtr(0),
25   // fDigitContainerStructPtr(0),
26   fDigitArrayPtr(0),
27   fDigitPtr(0),
28   // fDigitStructPtr(0),
29   fDigitCount(0), 
30   fNrPresamples(10),
31   fDigitThreshold(0)
32 {
33   //comment
34 }
35   
36 AliHLTPHOSRcuDigitMaker::~AliHLTPHOSRcuDigitMaker() 
37
38 {
39 }
40
41 Int_t
42 AliHLTPHOSRcuDigitMaker::MakeDigits(AliHLTPHOSRcuCellEnergyDataStruct* rcuData)
43 {
44   //comment
45   Int_t i = 0;
46   Int_t j = 0;
47   Int_t x = -1;
48   Int_t z = -1;
49   Float_t amplitude = 0;
50   for ( i = 0; i < rcuData->fCnt; i++ )
51   {
52     fCellDataPtr = & ( rcuData->fValidData[i] );
53     x = fCellDataPtr->fX;
54     z = fCellDataPtr->fZ;
55     amplitude = fCellDataPtr->fEnergy;
56     if ( amplitude > fDigitThreshold )
57       {
58         fDigitStructPtr = & ( fDigitContainerStructPtr->fDigitDataStruct[j + fDigitCount] );
59         fDigitStructPtr->fX = fCellDataPtr->fX;
60         fDigitStructPtr->fZ = fCellDataPtr->fZ;
61         fDigitStructPtr->fAmplitude = ( amplitude );
62         fDigitStructPtr->fTime = fCellDataPtr->fTime ;
63         fDigitStructPtr->fGain = ( fCellDataPtr->fGain );
64         fDigitStructPtr->SetRawData ( fCellDataPtr->fData );
65         fDigitStructPtr->fCrazyness  =   fCellDataPtr->fCrazyness;
66         fDigitStructPtr->fBaseline = -1;
67         j++;
68       }
69   }
70   fDigitCount += j;
71   return fDigitCount; 
72 }
73 /*
74 Int_t
75 AliHLTPHOSRcuDigitMaker::SetDigitsTree(TTree *tree)
76 {
77   TBranch * digBranch = tree->Branch("digits","TClonesArray",fDebugDigitArrayPtr); 
78 }
79 */
80
81 void
82 AliHLTPHOSRcuDigitMaker::Reset()
83
84  // fDigitArrayPtr->Clear();
85   fDigitCount = 0;
86 }
87
88   
89
90  
91