ATLAS Offline Software
Loading...
Searching...
No Matches
ILArCalculatorSvc.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// ILArCalculatorSvc.h
6// Prepared in 2016 based on LArVCalculator from Bill Seligman
7
8#ifndef __ILARCALCULATORSVC_H__
9#define __ILARCALCULATORSVC_H__
10
11#include "GaudiKernel/IService.h"
12
13#include "globals.hh"
14
16
17
18// Forward declaractions:
19class G4Step;
20class StatusCode;
21
22// struct to pass the hit info
23struct LArHitData { LArG4Identifier id; G4double time; G4double energy; };
24
25class ILArCalculatorSvc: virtual public IService {
26public:
27
29
31
32 virtual ~ILArCalculatorSvc() {};
33
34 // A deferred initialisation method to be called once geometry available
35 virtual void initializeForSDCreation() = 0;
36
37 // "OOTcut" the time cut (ns) after which an energy deposit is
38 // considered to be out-of-time w.r.t. the event.
39 virtual G4float OOTcut() const = 0;
40
41 // Check if the current hitTime is in-time
42 virtual G4bool isInTime(G4double hitTime) const = 0; // units = ns
43
44 //New interface, to pass the hit info directly
45 virtual G4bool Process (const G4Step*, std::vector<LArHitData>&) const = 0;
46
47};
48
49#endif
float hitTime(const AFP_SIDSimHit &hit)
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const =0
virtual G4float OOTcut() const =0
virtual G4bool isInTime(G4double hitTime) const =0
virtual void initializeForSDCreation()=0
DeclareInterfaceID(ILArCalculatorSvc, 1, 0)
LArG4Identifier id