AmpTools
UserAmplitude.h
Go to the documentation of this file.
1
#if !(defined USERAMPLITUDE)
2
#define USERAMPLITUDE
3
4
//******************************************************************************
5
// This file is part of AmpTools, a package for performing Amplitude Analysis
6
//
7
// Copyright Trustees of Indiana University 2010, all rights reserved
8
//
9
// This software written by Matthew Shepherd, Ryan Mitchell, and
10
// Hrayr Matevosyan at Indiana University, Bloomington
11
//
12
// Redistribution and use in source and binary forms, with or without
13
// modification, are permitted provided that the following conditions
14
// are met:
15
// 1. Redistributions of source code must retain the above copyright
16
// notice and author attribution, this list of conditions and the
17
// following disclaimer.
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice and author attribution, this list of conditions and the
20
// following disclaimer in the documentation and/or other materials
21
// provided with the distribution.
22
// 3. Neither the name of the University nor the names of its contributors
23
// may be used to endorse or promote products derived from this software
24
// without specific prior written permission.
25
//
26
// Creation of derivative forms of this software for commercial
27
// utilization may be subject to restriction; written permission may be
28
// obtained from the Trustees of Indiana University.
29
//
30
// INDIANA UNIVERSITY AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES,
31
// EXPRESS OR IMPLIED. By way of example, but not limitation, INDIANA
32
// UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCANTABILITY OR
33
// FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THIS SOFTWARE OR
34
// DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS,
35
// OR OTHER RIGHTS. Neither Indiana University nor the authors shall be
36
// held liable for any liability with respect to any claim by the user or
37
// any other party arising from use of the program.
38
//******************************************************************************
39
40
#include <string>
41
#include <vector>
42
#include "
IUAmpTools/Amplitude.h
"
43
44
using namespace
std
;
45
56
template
<
class
T >
57
class
UserAmplitude
:
public
Amplitude
58
{
59
60
public
:
61
66
UserAmplitude< T >
() :
Amplitude
() { }
67
68
74
UserAmplitude< T >
(
const
vector< string >& args ) :
Amplitude
( args ) { }
75
76
80
virtual
~
UserAmplitude< T >
() { }
81
82
86
Amplitude
*
newAmplitude
(
const
vector< string >& args )
const
{
87
return
new
T( args );
88
}
89
90
94
Amplitude
*
clone
()
const
{
95
return
( isDefault() ?
new
T() :
new
T( arguments() ) );
96
}
97
98
};
99
100
#endif
UserAmplitude
Definition:
UserAmplitude.h:57
std
Amplitude.h
Amplitude
Definition:
Amplitude.h:86
UserAmplitude::newAmplitude
Amplitude * newAmplitude(const vector< string > &args) const
Definition:
UserAmplitude.h:86
UserAmplitude::clone
Amplitude * clone() const
Definition:
UserAmplitude.h:94
AmpTools
IUAmpTools
UserAmplitude.h
Generated on Sun May 7 2017 06:12:50 for AmpTools by
1.8.13