Project

General

Profile

Feature #1840 » PrimaryChainProcessor.hh

Greis, Jan, 15 April 2016 11:55

 
1
/* This file is part of MAUS: http://micewww.pp.rl.ac.uk/projects/maus
2
 *
3
 * MAUS is free software: you can redistribute it and/or modify
4
 * it under the terms of the GNU General Public License as published by
5
 * the Free Software Foundation, either version 3 of the License, or
6
 * (at your option) any later version.
7
 *
8
 * MAUS is distributed in the hope that it will be useful,
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
 * GNU General Public License for more details.
12
 *
13
 * You should have received a copy of the GNU General Public License
14
 * along with MAUS.  If not, see <http://www.gnu.org/licenses/>.
15
 */
16

    
17
#include <string>
18

    
19
#include "src/common_cpp/JsonCppProcessors/PrimitivesProcessors.hh"
20
#include "src/common_cpp/JsonCppProcessors/ObjectProcessor.hh"
21
#include "src/common_cpp/JsonCppProcessors/ArrayProcessors.hh"
22
#include "src/common_cpp/JsonCppProcessors/ObjectMapProcessors.hh"
23

    
24
#include "src/common_cpp/DataStructure/Global/PrimaryChain.hh"
25

    
26
#ifndef _SRC_COMMON_CPP_JSONCPPPROCESSORS_GLOBALPRIMARYCHAINPROCESSOR_HH_
27
#define _SRC_COMMON_CPP_JSONCPPPROCESSORS_GLOBALPRIMARYCHAINPROCESSOR_HH_
28

    
29
namespace MAUS {
30
namespace Processor {
31
namespace Global {
32

    
33
/** @class PrimaryChainProcessor processor for
34
 *  MAUS::DataStructure::Global::PrimaryChain
35
 *  @author Jan Greis, University of Warwick
36
 */
37

    
38
class PrimaryChainProcessor
39
    : public ObjectProcessor<MAUS::DataStructure::Global::PrimaryChain> {
40
 public:
41
  /** Constructor - registers the branch structure */
42
  PrimaryChainProcessor();
43

    
44
 private:
45
  StringProcessor _string_proc;
46
  TRefArrayProcessor _lr_sp_trefarray_proc;
47
  TRefArrayProcessor _lr_track_trefarray_proc;
48
  TRefArrayProcessor _track_trefarray_proc;
49
};
50
} // ~namespace Global
51
} // ~namespace Processor
52
} // ~namespace MAUS
53

    
54
#endif
(4-4/4)