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