~c-e-pidcott/maus/devel

« back to all changes in this revision

Viewing changes to src/map/MapCppTOFDigitization/MapCppTOFDigitization.hh

  • Committer: Chris Rogers
  • Date: 2011-11-04 16:46:18 UTC
  • mfrom: (656.1.27 maus-trunk3)
  • Revision ID: chris.rogers@stfc.ac.uk-20111104164618-4gaisprgsgivebix
Changes for release 0.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* This file is part of MAUS: http://micewww.pp.rl.ac.uk:8080/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
 
 
18
 
/** @class MapCppTOFDigitization
19
 
 *  Digitize events by running TOF electronics simulation.
20
 
 *
21
 
 */
22
 
 
23
 
#ifndef _COMPONENTS_MAP_MAPCPPTOFDIGITIZATION_H_
24
 
#define _COMPONENTS_MAP_MAPCPPTOFDIGITIZATION_H_
25
 
// C headers
26
 
#include <assert.h>
27
 
#include <json/json.h>
28
 
#include <CLHEP/Random/RandPoisson.h>  //  from old file?
29
 
#include <CLHEP/Random/RandGauss.h>  //  from old file?
30
 
#include <CLHEP/Random/RandExponential.h>  //  from old file?
31
 
#include <CLHEP/Units/PhysicalConstants.h>  //  from old file?
32
 
 
33
 
// C++ headers
34
 
#include <cmath>  //  from old file?
35
 
#include <iostream>
36
 
#include <string>
37
 
#include <sstream>
38
 
#include <vector>
39
 
 
40
 
// G4MICE from commonCpp
41
 
#include "Interface/dataCards.hh"
42
 
#include "Interface/MICEEvent.hh"
43
 
#include "Config/MiceModule.hh"  //  from old file?
44
 
 
45
 
class MapCppTOFDigitization {
46
 
 public:
47
 
  /** Sets up the worker
48
 
   *
49
 
   *  \param argJsonConfigDocument a JSON document with
50
 
   *         the configuration.
51
 
   */
52
 
  bool birth(std::string argJsonConfigDocument);
53
 
 
54
 
  /** Shutdowns the worker
55
 
   *
56
 
   *  This takes no arguments and does nothing
57
 
   */
58
 
  bool death();
59
 
 
60
 
  /** process JSON document
61
 
   *
62
 
   *  Receive a document with MC hits and return
63
 
   *  a document with digits
64
 
   */
65
 
  std::string process(std::string document);
66
 
 
67
 
 private:
68
 
  /// This should be the classname
69
 
  std::string _classname;
70
 
 
71
 
  double              _conversionFactor;
72
 
  double              _pmtTimeResolution;
73
 
  double              _attenuationLength;
74
 
  double              _adcConversionFactor;
75
 
  double              _tdcConversionFactor;
76
 
  double              _pmtQuantumEfficiency;
77
 
  double              _scintLightSpeed;
78
 
 
79
 
  MiceModule* _module;
80
 
};  // Don't forget this trailing colon!!!!
81
 
 
82
 
#endif  //  _COMPONENTS_MAP_MAPCPPTOFDIGITIZATION_H_