ATLAS Offline Software
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:
19 class G4Step;
20 class StatusCode;
21 
22 // struct to pass the hit info
23 struct LArHitData { LArG4Identifier id; G4double time; G4double energy; };
24 
25 class ILArCalculatorSvc: virtual public IService {
26 public:
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
LArG4Identifier
Definition: LArG4Identifier.h:121
ILArCalculatorSvc::OOTcut
virtual G4float OOTcut() const =0
ILArCalculatorSvc::Process
virtual G4bool Process(const G4Step *, std::vector< LArHitData > &) const =0
ILArCalculatorSvc::initializeForSDCreation
virtual void initializeForSDCreation()=0
LArHitData
Definition: ILArCalculatorSvc.h:23
LArHitData::energy
G4double energy
Definition: ILArCalculatorSvc.h:23
ILArCalculatorSvc::isInTime
virtual G4bool isInTime(G4double hitTime) const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ILArCalculatorSvc::ILArCalculatorSvc
ILArCalculatorSvc()
Definition: ILArCalculatorSvc.h:28
ILArCalculatorSvc
Definition: ILArCalculatorSvc.h:25
LArG4Identifier.h
ILArCalculatorSvc::~ILArCalculatorSvc
virtual ~ILArCalculatorSvc()
Definition: ILArCalculatorSvc.h:32
ILArCalculatorSvc::DeclareInterfaceID
DeclareInterfaceID(ILArCalculatorSvc, 1, 0)
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArHitData::id
LArG4Identifier id
Definition: ILArCalculatorSvc.h:23
LArHitData::time
G4double time
Definition: ILArCalculatorSvc.h:23