2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5// defining this class is just used for testing since class ILArCalculatorSvc is a abstract class which needs to be instatiated in my test code
6// actually the class(i.e. IService) that LArCalibCalculatorSvc inherits is also abstract, which means I also need to override the pure virtual functions in class IService
7// To make matters more complicated, the classes(i.e. INamedInterface and IStateful) that IService inherits are also abstract, so I need to override the pure virtual functions in classes INamedInterface and IStateful
8// In addition, since INamedInterface and IStateful all inherit the class IInterface, which is abstract. Therefore, I also override the pure virtual functions in the class IInterface.
140virtual G4bool Process (const G4Step* a_step, std::vector<LArHitData>& hits) const override
141{
142//firstly set the G4Step object a_step to make it complete, you can set it here as much as you want. Since there is no need to set too much for it, I don't set sth for it
143 (void)a_step;
144
145//insert LArHitData object into hits
146LArG4Identifier a_ident;//define a LArG4Identifier object called a_ident