ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtPatternTypes.cxx
Go to the documentation of this file.
1 #include "AtPatternTypes.h"
2 
3 #include "AtPatternCircle2D.h"
4 #include "AtPatternFission.h"
5 #include "AtPatternLine.h"
6 #include "AtPatternRay.h"
7 #include "AtPatternY.h"
8 
9 using namespace AtPatterns;
10 
11 std::unique_ptr<AtPattern> AtPatterns::CreatePattern(PatternType type)
12 {
13 
14  switch (type) {
15  case (PatternType::kLine): return std::make_unique<AtPatternLine>();
16  case (PatternType::kRay): return std::make_unique<AtPatternRay>();
17  case (PatternType::kCircle2D): return std::make_unique<AtPatternCircle2D>();
18  case (PatternType::kY): return std::make_unique<AtPatternY>();
19  case (PatternType::kFission): return std::make_unique<AtPatternFission>();
20  default: return nullptr;
21  }
22 }
AtPatterns::PatternType::kRay
@ kRay
AtPatterns::PatternType::kFission
@ kFission
AtPatterns::CreatePattern
std::unique_ptr< AtPattern > CreatePattern(PatternType type)
Factory for AtPattern.
Definition: AtPatternTypes.cxx:11
AtPatterns::PatternType::kCircle2D
@ kCircle2D
AtPatternLine.h
AtPatternFission.h
AtPatterns::PatternType::kY
@ kY
AtPatternY.h
AtPatternRay.h
AtPatterns
Definition: AtFissionEvent.h:21
AtPatterns::PatternType
PatternType
Supported patterns.
Definition: AtPatternTypes.h:14
AtPatternTypes.h
AtPatterns::PatternType::kLine
@ kLine
AtPatternCircle2D.h