Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PandoraObjectFactories.cc
Go to the documentation of this file.
1
11
13#include "Geometry/LArTPC.h"
15
16#include "Objects/CaloHit.h"
17#include "Objects/Cluster.h"
18#include "Objects/MCParticle.h"
20#include "Objects/Track.h"
21#include "Objects/Vertex.h"
22
23namespace pandora
24{
25
26template <typename PARAMETERS, typename OBJECT>
31
32//------------------------------------------------------------------------------------------------------------------------------------------
33
34template <typename PARAMETERS, typename OBJECT>
36{
37 return STATUS_CODE_SUCCESS;
38}
39
40//------------------------------------------------------------------------------------------------------------------------------------------
41
42template <typename PARAMETERS, typename OBJECT>
43StatusCode PandoraObjectFactory<PARAMETERS, OBJECT>::Write(const Object *const /*pObject*/, FileWriter &/*fileWriter*/) const
44{
45 return STATUS_CODE_SUCCESS;
46}
47
48//------------------------------------------------------------------------------------------------------------------------------------------
49
50template <typename PARAMETERS, typename OBJECT>
51StatusCode PandoraObjectFactory<PARAMETERS, OBJECT>::Create(const PARAMETERS &parameters, const OBJECT *&pObject) const
52{
53 pObject = nullptr;
54
55 try
56 {
57 pObject = new OBJECT(parameters);
58 }
59 catch (StatusCodeException &statusCodeException)
60 {
61 delete pObject;
62 pObject = nullptr;
63
64 std::cout << "StatusCodeException caught while instantiating pandora object :" << statusCodeException.ToString() << std::endl;
65 return statusCodeException.GetStatusCode();
66 }
67
68 return STATUS_CODE_SUCCESS;
69}
70
71//------------------------------------------------------------------------------------------------------------------------------------------
72//------------------------------------------------------------------------------------------------------------------------------------------
73
86
87} // namespace pandora
Header file for the calo hit class.
Header file for the cluster class.
Header file for the detector gap class.
Header file for the lar tpc class.
Header file for the mc particle class.
Header file for pandora object creation classes.
Header file for the pandora object factories classes.
Header file for the particle flow object class.
Header file for the sub detector class.
Header file for the track class.
Header file for the vertex class.
Parameters class.
Definition Validation.h:20
FileReader class.
Definition FileReader.h:29
FileWriter class.
Definition FileWriter.h:29
PandoraObjectFactory class.
StatusCode Read(Parameters &parameters, FileReader &fileReader) const
Read any additional (derived class only) object parameters from file using the specified file reader.
StatusCode Write(const Object *const pObject, FileWriter &fileWriter) const
Persist any additional (derived class only) object parameters using the specified file writer.
Parameters * NewParameters() const
Create new parameters instance on the heap (memory-management to be controlled by user)
StatusCode Create(const Parameters &parameters, const Object *&pObject) const
Create an object with the given parameters.
StatusCodeException class.
std::string ToString() const
Get status code as a string.
StatusCode GetStatusCode() const
Get status code.
StatusCode
The StatusCode enum.