make sure EMCal trigger-cluster matching is done when event is EMCal triggered, in...
[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 /* $Id$ */
7
8 /* History of cvs commits:
9  *
10  * $Log$
11  * Revision 1.9  2006/09/13 07:31:01  kharlov
12  * Effective C++ corrections (T.Pocheptsov)
13  *
14  * Revision 1.8  2005/05/28 14:19:05  schutz
15  * Compilation warnings fixed by T.P.
16  *
17  */
18
19 //_________________________________________________________________________
20 // Implementation version vImpacts of PHOS Manager class.
21 // This class inherits from v1 and adds impacts storing.
22 // Impacts stands for exact values of track coming to the detectors
23 // EMC, CPV or PPSD.
24 // Impacts are written to the same tree as hits are
25 // but in separate branches.
26 //*--                  
27 //*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
28
29 // --- ROOT system ---
30 class TList ;
31 class TLorentzVector ;
32
33
34 // --- AliRoot header files ---
35 #include "AliPHOSv1.h"
36
37 class AliPHOSvImpacts : public AliPHOSv1 {
38
39 public:
40
41   AliPHOSvImpacts(void) ;
42   AliPHOSvImpacts(const char *name, const char *title="") ;
43   virtual ~AliPHOSvImpacts(void) ;
44
45   virtual void   AddImpact(const char* detector, Int_t shunt, Int_t primary, Int_t track,
46                            Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
47   virtual void   MakeBranch(Option_t *opt=" ");
48   virtual void   ResetHits();
49   virtual Int_t  IsVersion(void) const {
50     // Gives the version number 
51     return 1 ; 
52   }
53   virtual void   StepManager(void) ;                              
54   virtual const TString Version(void)const{ 
55     // returns the version number 
56     return TString("vImpacts") ; 
57   }
58
59 protected:
60
61   TList * fEMCImpacts;         // Array of impacts in EMC modules
62   TList * fCPVImpacts;         // Array of impacts in CPV (IHEP) modules
63   TList * fPPSDImpacts;        // Array of impacts in PPSD modules
64
65   Int_t  fNEMCImpacts[5];      // Number of EMC impacts per module
66   Int_t  fNCPVImpacts[5];      // Number of CPV impacts per module
67   Int_t  fNPPSDImpacts[5];     // Number of PPSD impacts per module
68
69  private:
70   AliPHOSvImpacts(AliPHOSvImpacts & phos);
71   AliPHOSvImpacts & operator = (const AliPHOSvImpacts & /*rvalue*/);
72
73   ClassDef(AliPHOSvImpacts,1)  // Implementation of PHOS manager class for layout EMC+PPSD
74
75 };
76
77 #endif // AliPHOSVIMPACTS_H