]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSvImpacts.h
Addition of electronic noise corrected
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvImpacts.h
1 #ifndef ALIPHOSVIMPACTS_H
2 #define ALIPHOSVIMPACTS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 // Implementation version vImpacts of PHOS Manager class.
8 // This class inherits from v1 and adds impacts storing.
9 // Impacts stands for exact values of track coming to the detectors
10 // EMC, CPV or PPSD.
11 // Impacts are written to the same tree as hits are
12 // but in separate branches.
13 //*--                  
14 //*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
15
16 // --- ROOT system ---
17 class TList ;
18 class TLorentzVector ;
19
20
21 // --- AliRoot header files ---
22 #include "AliPHOSv1.h"
23
24 class AliPHOSvImpacts : public AliPHOSv1 {
25
26 public:
27
28   AliPHOSvImpacts(void) ;
29   AliPHOSvImpacts(const char *name, const char *title="") ;
30   AliPHOSvImpacts(AliPHOSvImpacts & phos) : AliPHOSv1(phos) {
31     phos.Copy(*this) ; 
32   }
33   virtual ~AliPHOSvImpacts(void) ;
34
35   virtual void   Copy(AliPHOSvImpacts & phos) ; 
36   virtual void   AddImpact(const char* detector, Int_t shunt, Int_t primary, Int_t track,
37                            Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
38   virtual void   MakeBranch(Option_t *opt=" ");
39   virtual void   ResetHits();
40   virtual Int_t  IsVersion(void) const {
41     // Gives the version number 
42     return 1 ; 
43   }
44   virtual void   StepManager(void) ;                              
45   virtual TString Version(void){ 
46     // returns the version number 
47     return TString("vImpacts") ; 
48   }
49
50   AliPHOSvImpacts & operator = (const AliPHOSvImpacts & /*rvalue*/)  {
51     // assignement operator requested by coding convention but not needed
52     Fatal("operator =", "not implemented") ;
53     return *this ; 
54   }
55
56 protected:
57
58   TList * fEMCImpacts;         // Array of impacts in EMC modules
59   TList * fCPVImpacts;         // Array of impacts in CPV (IHEP) modules
60   TList * fPPSDImpacts;        // Array of impacts in PPSD modules
61
62   Int_t  fNEMCImpacts[5];      // Number of EMC impacts per module
63   Int_t  fNCPVImpacts[5];      // Number of CPV impacts per module
64   Int_t  fNPPSDImpacts[5];     // Number of PPSD impacts per module
65
66
67   ClassDef(AliPHOSvImpacts,1)  // Implementation of PHOS manager class for layout EMC+PPSD
68
69 };
70
71 #endif // AliPHOSVIMPACTS_H