]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSvImpacts.h
Coding convention
[u/mrichter/AliRoot.git] / PHOS / AliPHOSvImpacts.h
CommitLineData
09906775 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 ---
17class TList ;
18class TLorentzVector ;
19
20
21// --- AliRoot header files ---
22#include "AliPHOSv1.h"
23
24class AliPHOSvImpacts : public AliPHOSv1 {
25
26public:
27
28 AliPHOSvImpacts(void) ;
29 AliPHOSvImpacts(const char *name, const char *title="") ;
780fda6d 30 AliPHOSvImpacts(AliPHOSvImpacts & phos) : AliPHOSv1(phos) {
31 phos.Copy(*this) ;
09906775 32 }
33 virtual ~AliPHOSvImpacts(void) ;
34
780fda6d 35 virtual void Copy(AliPHOSvImpacts & phos) ;
8e8eae84 36 virtual void AddImpact(const char* detector, Int_t shunt, Int_t primary, Int_t track,
09906775 37 Int_t module, Int_t pid, TLorentzVector p, Float_t *xyz) ;
88cb7938 38 virtual void MakeBranch(Option_t *opt=" ");
09906775 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
8c140292 50 AliPHOSvImpacts & operator = (const AliPHOSvImpacts & /*rvalue*/) {
09906775 51 // assignement operator requested by coding convention but not needed
f1611b7c 52 Fatal("operator =", "not implemented") ;
09906775 53 return *this ;
54 }
55
56protected:
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