ATLAS Offline Software
Loading...
Searching...
No Matches
ILArBarrelPresamplerGeometry.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5// ILArBarrelPresamplerGeometry.h
6// Prepared in 2016 based on LArVCalculator from Bill Seligman
7
8#ifndef LARG4BARREL_ILARBARRELPRESAMPLERGEOMETRY_H
9#define LARG4BARREL_ILARBARRELPRESAMPLERGEOMETRY_H
10
11#include "GaudiKernel/IService.h"
12
13#include "globals.hh"
14
16
17
18// Forward declaractions:
19class G4Step;
20
21namespace LArG4 {
22
23 namespace BarrelPresampler {
24
25 // output of computations
26 struct CalcData {
27 G4int sampling = 0; // sampling number (1 to 3)
28 G4int region = 0; // region number (0 or 1)
29 G4int etaBin = 0; // cell number in eta
30 G4int phiBin = 0; // cell number in phi
32 G4int module = 0;
33 G4double distElec = 0.; // algebric distance to electrode
34 G4double xElec = 0.; // projection along electrode axis
35 G4double dist = 0.;
36 };
37
38 } //end of BarrelPresampler namespace
39
40} // end of LArG4 namespace
41
42class ILArBarrelPresamplerGeometry: virtual public IService {
43public:
44
46
48
50
51 // Full identifier computation from a G4 step
52 virtual LArG4Identifier CalculateIdentifier( const G4Step*) const = 0;
53
54 // Given a point compute all quantities (cell number, distance to electrode, etc...)
55 virtual bool findCell(LArG4::BarrelPresampler::CalcData & currentCellData, G4double xloc,G4double yloc,G4double zloc) const = 0;
56};
57
58#endif // LARG4BARREL_ILARBARRELPRESAMPLERGEOMETRY_H
virtual LArG4Identifier CalculateIdentifier(const G4Step *) const =0
DeclareInterfaceID(ILArBarrelPresamplerGeometry, 1, 0)
virtual bool findCell(LArG4::BarrelPresampler::CalcData &currentCellData, G4double xloc, G4double yloc, G4double zloc) const =0