ATLAS Offline Software
DerivedILArCalculatorSvcForTest.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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.
9 
10 #ifndef LARG4CODE_DERIVEDILARCALCULATORSVCFORTEST_H
11 #define LARG4CODE_DERIVEDILARCALCULATORSVCFORTEST_H
12 
14 #include "GaudiKernel/StateMachine.h"
15 
17 
18 public:
19 
21 
23 
24 // there are no concrete functions for the following member functions, just to override the pure virtual member function in the base classes
25  virtual StatusCode sysInitialize() override
26  {
27  StatusCode s1;
28  return s1;
29  }
30 
31  virtual StatusCode sysStart() override
32  {
33  StatusCode s2;
34  return s2;
35  }
36 
37  virtual StatusCode sysStop() override
38  {
39  StatusCode s3;
40  return s3;
41  }
42 
43  virtual StatusCode sysFinalize() override
44  {
45  StatusCode s4;
46  return s4;
47  }
48 
49  virtual StatusCode sysReinitialize() override
50  {
51  StatusCode s5;
52  return s5;
53  }
54 
55  virtual StatusCode sysRestart() override
56  {
57  StatusCode s6;
58  return s6;
59  }
60 
61  virtual void setServiceManager( ISvcManager* ) override { return; }
62 
63  virtual unsigned long addRef() override { return 1; }
64 
65  virtual unsigned long release() override { return 1; }
66 
67  virtual
68  StatusCode queryInterface( const InterfaceID& ti, void** pp ) override
69  {
70  (void)ti; //to silence the unused-parameter warning, the same below
71  (void)pp;
72  StatusCode s7;
73  return s7;
74  }
75 
76  virtual StatusCode configure() override
77  {
78  StatusCode s7;
79  return s7;
80  }
81 
82  virtual StatusCode initialize() override
83  {
84  StatusCode s7;
85  return s7;
86  }
87 
88  virtual StatusCode start() override
89  {
90  StatusCode s7;
91  return s7;
92  }
93 
94  virtual StatusCode stop() override
95  {
96  StatusCode s7;
97  return s7;
98  }
99 
100  virtual StatusCode finalize() override
101  {
102  StatusCode s7;
103  return s7;
104  }
105 
106  virtual StatusCode terminate() override
107  {
108  StatusCode s7;
109  return s7;
110  }
111 
112  virtual StatusCode reinitialize() override
113  {
114  StatusCode s7;
115  return s7;
116  }
117 
118  virtual StatusCode restart() override
119  {
120  StatusCode s7;
121  return s7;
122  }
123 
124  void initializeForSDCreation() override {};
125 
126  virtual Gaudi::StateMachine::State FSMState() const override
127  {
128  return Gaudi::StateMachine::State(0);
129  }
130 
131  virtual Gaudi::StateMachine::State targetFSMState() const override
132  {
133  return Gaudi::StateMachine::State(0);
134  }
135 
136  virtual const std::string& name() const override
137  {
138  static const std::string Tes = "test";
139  return Tes;
140  }
141 
142  virtual G4float OOTcut() const override
143  {
144  return 1.0;
145  }
146 
147  virtual G4bool isInTime(G4double hitTime) const override
148  {
149  (void)hitTime;
150  return true;
151  }
152 
153  virtual G4bool Process (const G4Step* a_step, std::vector<LArHitData>& hits) const override
154  {
155 //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
156  (void)a_step;
157 
158 //insert LArHitData object into hits
159  LArG4Identifier a_ident;//define a LArG4Identifier object called a_ident
160  a_ident.add(4);
161  a_ident.add(2);
162  a_ident.add(2);
163  a_ident.add(3);
164  a_ident.add(4);
165  a_ident.add(5);
166  a_ident.add(6);
167  LArHitData hit = {};//define LArHitData object hit
168  hit.id = a_ident;//set hit, the same below
169  hit.time = 1.0;
170  hit.energy = 1.0;
171  hits.push_back(hit);//insert hit into the container hits
172 
173  return true;
174  }
175 
176 };
177 #endif
178 
DerivedILArCalculatorSvcForTest
Definition: DerivedILArCalculatorSvcForTest.h:16
LArG4Identifier
Definition: LArG4Identifier.h:121
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
DerivedILArCalculatorSvcForTest::queryInterface
virtual StatusCode queryInterface(const InterfaceID &ti, void **pp) override
Definition: DerivedILArCalculatorSvcForTest.h:68
DerivedILArCalculatorSvcForTest::stop
virtual StatusCode stop() override
Definition: DerivedILArCalculatorSvcForTest.h:94
DerivedILArCalculatorSvcForTest::sysFinalize
virtual StatusCode sysFinalize() override
Definition: DerivedILArCalculatorSvcForTest.h:43
DerivedILArCalculatorSvcForTest::configure
virtual StatusCode configure() override
Definition: DerivedILArCalculatorSvcForTest.h:76
DerivedILArCalculatorSvcForTest::Process
virtual G4bool Process(const G4Step *a_step, std::vector< LArHitData > &hits) const override
Definition: DerivedILArCalculatorSvcForTest.h:153
DerivedILArCalculatorSvcForTest::sysRestart
virtual StatusCode sysRestart() override
Definition: DerivedILArCalculatorSvcForTest.h:55
DerivedILArCalculatorSvcForTest::initializeForSDCreation
void initializeForSDCreation() override
Definition: DerivedILArCalculatorSvcForTest.h:124
LArHitData
Definition: ILArCalculatorSvc.h:23
ReadCellNoiseFromCoolCompare.s4
s4
Definition: ReadCellNoiseFromCoolCompare.py:381
DerivedILArCalculatorSvcForTest::sysStop
virtual StatusCode sysStop() override
Definition: DerivedILArCalculatorSvcForTest.h:37
DerivedILArCalculatorSvcForTest::restart
virtual StatusCode restart() override
Definition: DerivedILArCalculatorSvcForTest.h:118
DerivedILArCalculatorSvcForTest::start
virtual StatusCode start() override
Definition: DerivedILArCalculatorSvcForTest.h:88
DerivedILArCalculatorSvcForTest::isInTime
virtual G4bool isInTime(G4double hitTime) const override
Definition: DerivedILArCalculatorSvcForTest.h:147
DerivedILArCalculatorSvcForTest::initialize
virtual StatusCode initialize() override
Definition: DerivedILArCalculatorSvcForTest.h:82
LArHitData::energy
G4double energy
Definition: ILArCalculatorSvc.h:23
DerivedILArCalculatorSvcForTest::release
virtual unsigned long release() override
Definition: DerivedILArCalculatorSvcForTest.h:65
DerivedILArCalculatorSvcForTest::addRef
virtual unsigned long addRef() override
Definition: DerivedILArCalculatorSvcForTest.h:63
DerivedILArCalculatorSvcForTest::finalize
virtual StatusCode finalize() override
Definition: DerivedILArCalculatorSvcForTest.h:100
DerivedILArCalculatorSvcForTest::setServiceManager
virtual void setServiceManager(ISvcManager *) override
Definition: DerivedILArCalculatorSvcForTest.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
DerivedILArCalculatorSvcForTest::OOTcut
virtual G4float OOTcut() const override
Definition: DerivedILArCalculatorSvcForTest.h:142
ILArCalculatorSvc
Definition: ILArCalculatorSvc.h:25
DerivedILArCalculatorSvcForTest::sysInitialize
virtual StatusCode sysInitialize() override
Definition: DerivedILArCalculatorSvcForTest.h:25
ReadCellNoiseFromCoolCompare.s3
s3
Definition: ReadCellNoiseFromCoolCompare.py:380
LArG4Identifier::add
void add(element_type value)
DerivedILArCalculatorSvcForTest::~DerivedILArCalculatorSvcForTest
~DerivedILArCalculatorSvcForTest()
Definition: DerivedILArCalculatorSvcForTest.h:22
DerivedILArCalculatorSvcForTest::sysReinitialize
virtual StatusCode sysReinitialize() override
Definition: DerivedILArCalculatorSvcForTest.h:49
DerivedILArCalculatorSvcForTest::FSMState
virtual Gaudi::StateMachine::State FSMState() const override
Definition: DerivedILArCalculatorSvcForTest.h:126
DerivedILArCalculatorSvcForTest::terminate
virtual StatusCode terminate() override
Definition: DerivedILArCalculatorSvcForTest.h:106
DerivedILArCalculatorSvcForTest::sysStart
virtual StatusCode sysStart() override
Definition: DerivedILArCalculatorSvcForTest.h:31
DerivedILArCalculatorSvcForTest::targetFSMState
virtual Gaudi::StateMachine::State targetFSMState() const override
Definition: DerivedILArCalculatorSvcForTest.h:131
ILArCalculatorSvc.h
ReadCellNoiseFromCoolCompare.s2
s2
Definition: ReadCellNoiseFromCoolCompare.py:379
DerivedILArCalculatorSvcForTest::reinitialize
virtual StatusCode reinitialize() override
Definition: DerivedILArCalculatorSvcForTest.h:112
DerivedILArCalculatorSvcForTest::name
virtual const std::string & name() const override
Definition: DerivedILArCalculatorSvcForTest.h:136
hitTime
float hitTime(const AFP_SIDSimHit &hit)
Definition: AFP_SIDSimHit.h:39
LArHitData::id
LArG4Identifier id
Definition: ILArCalculatorSvc.h:23
DerivedILArCalculatorSvcForTest::DerivedILArCalculatorSvcForTest
DerivedILArCalculatorSvcForTest()
Definition: DerivedILArCalculatorSvcForTest.h:20
LArHitData::time
G4double time
Definition: ILArCalculatorSvc.h:23